IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

spring + jdbc problème


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 51
    Par défaut spring + jdbc problème
    Bonjour a tous,
    je débutes dans le monde merveilleux de Spring par contre la version assignée est pour l'instant la 2.0.4 .

    Je dois faire en sorte que Spring gère de lui même les connections à la base de données. Je dois m'occuper dans mon code que des requêtes.
    Voila ou j'en suis pour le moment:

    ma datasource bean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    <bean id="satDS" class="org.apache.commons.dbcp.BasicDataSource">
    		<property name="driverClassName" value="${jdbc.driverClassName}" />
    		<property name="url" value="${jdbc.url}" />
    		<property name="username" value="${jdbc.username}" />
    		<property name="password" value="${jdbc.password}" />
    	</bean>
     
        <bean id="jdbcProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        	<description>Externalisation de la config BDD</description>
            <property name="location">
           	 	<value>jdbc.properties</value>
            </property>
       </bean>
    voila donc après je ne sais pas tellement quoi faire, lool.

    J'ai regardé sur le net et j'ai remarqué que beaucoup d'article parlait de persistance Spring, mais je ne veux faire que du jdbc et interroger de temps en temps une base de donnée avec un insert/delete de temps en temps aussi.

    Je ne vois donc pas comment faire pour faire gerer ma connection a ma BDD par Spring.

    pourriez vous m'aider

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Par défaut
    Et bien ... il te reste plus qu'à faire tes requêtes!!! Je te conseillerais d'inspecter le site de Serge Tahé: http://tahe.developpez.com/

    Regarde en particulier Spring MVC par l'exemple (les 5 tant qu'à faire sincèrement)

    Mais pour tout te dire tu peux procéder ainsi:
    - Créer une classe qui extend SqlMapClientDaoSupport.
    - Dans cette classe créer une méthode qui va appeler ta requête.
    - La manière d'appeler la requête dépend du type de ta requête:
    * pour un delete => getSqlMapClientTemplate().delete(...)
    * pour un insert => getSqlMapClientTemplate().insert(...)
    * pour un update => getSqlMapClientTemplate().update(...)
    * pour un select => et bah non ...

    Tout dépend de ce que tu veux en retour. Si tu sais que tu ne récupéreras qu'un seul objet ce sera getSqlMapClientTemplate().queryForObject(...)
    Si c'est une liste getSqlMapClientTemplate().queryForList(...) et pour une map getSqlMapClientTemplate().queryForMap(...)

    Dans tous les cas tu devras entrer en paramêtre de ces méthode l'id de ta requête .... et si je te parle d'id c'est pour ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
     
    <sqlMapConfig>
        <settings useStatementNamespaces="true" />
     
        <sqlMap resource="mova/logging/dao/maps/users.xml"/>
        <sqlMap resource="mova/logging/dao/maps/roles.xml"/>
        <sqlMap resource="mova/logging/dao/maps/inscriptions.xml"/>
     
    </sqlMapConfig>
    et ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
     
    <sqlMap namespace="User">
     
        <!-- User -->
     
        <typeAlias alias="User.class" type="mova.logging.domain.User"/>
     
        <select id="getAll" resultClass="User.class">
            SELECT * FROM users
        </select>
     
        <select id="getOne" resultClass="User.class">
            SELECT * FROM users WHERE id=#id#
        </select>
     
        <select id="getUserByLogin" resultClass="User.class">
            SELECT * FROM users WHERE login=#value#
        </select>
     
        <select id="getUserByEmail" resultClass="User.class">
            SELECT * FROM users WHERE email=#value#
        </select>
     
        <insert id="insertOne" parameterClass="User.class">
            INSERT INTO users (login, password, email)
            VALUES (#login#, #password#, #email#)
            <selectKey keyProperty="id">
                SELECT last_insert_id() AS value
            </selectKey>
        </insert>
     
        <update id="updateOne" parameterClass="User.class">
            UPDATE users
            SET login=#login#,
            password=#password#,
            email=#email#
            WHERE id=#id#
        </update>
     
        <delete id="deleteOne" parameterClass="User.class">
            DELETE FROM users WHERE id=#id#
        </delete>
     
        <delete id="deleteById" parameterClass="int">
            DELETE FROM users WHERE id=#value#
        </delete>
     
    </sqlMap>
    Et comme je ne peux pas tout t'expliquer non plus je vais te renvoyer encore à de la doc desfois que M.Tahé ne réponde pas à toutes les questions (je me rappelle plus trop) : http://ibatis.apache.org/onlinehelp.html

    Bon alors la bien sûr j'utilise Ibatis ... mais on pourrait regarder Hibernates également.

    Voilà ... normalement avec tout ça tu as de quoi t'occuper et ca devrait fonctionner! Tu ne devrais même plus avoir besoin de repasser par le forum et comme je t'ai donné la doc fait très attention aux questions que tu nous poserais malgrès tout! Je serais intransigeant!

    Mohicane!

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 210
    Par défaut
    Le SqlMap utilise le framework iBatis ...

    Le plus simple que tu puisses faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class SimpleDao {
        private JdbcTemplate jdbcTemplate;
     
        public void setDataSource(DataSource dataSource) {
            jdbcTemplate = new JdbcTemplate(dataSource);
        }
     
        public void test() {
            jdbcTemplate.query("SELECT 1");
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean id="simpleDao" class="SimpleDao">
        <property name="dataSource" ref="satDS" />
    </bean>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");
        SimpleDao dao = (SimpleDao) ctx.getBean("simpleDao");
        dao.test();

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/01/2011, 11h17
  2. Problème de connection DB2 via Spring/JDBC
    Par ::Fistons dans le forum DB2
    Réponses: 1
    Dernier message: 30/06/2007, 19h48
  3. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  4. [JTextField][JDBC] Problème d'affichage
    Par deathwing dans le forum JDBC
    Réponses: 4
    Dernier message: 12/05/2004, 14h50
  5. [JDBC] Problème avec les accents
    Par seawolfm dans le forum Administration
    Réponses: 2
    Dernier message: 29/01/2004, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo