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 :

JdbcTemplate ne fait rien, pas même lever une Exception ! [Data]


Sujet :

Spring Java

  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 144
    Points : 645
    Points
    645
    Par défaut JdbcTemplate ne fait rien, pas même lever une Exception !
    Bonjour,

    J'ai une classe DaoUser qui est sensée lire et écrire dans la base de données, via le JdbcTemplate de Spring. Or, mon problème est que ce dernier ne fait rien, et ne lève pas même une exception. Mes seuls indices que la connexion se passe bien sont que si je provoque une erreur de syntaxe dans ma requête, là j'ai bien une exception, et que ma table support de mon objet incrementer fonctionne bien.

    Voici un extrait de mon fichier de configuration de Spring :
    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
        <bean id="commonDataSource" class="fr.atatorus.gesicoba.dao.PooledDataSource" init-method="init">
            <property name="login" value="gesicoba" />
            <property name="password" value="ata1er" />
            <property name="driver" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://127.0.0.1/" />
            <property name="database" value="gesicoba" />
        </bean>
     
        <bean id="daoUser" class="fr.atatorus.gesicoba.dao.DaoUser">
            <property name="incrementer" ref="userIncrementer" />
            <property name="loader" ref="queryLoader" />
            <property name="template" ref="jdbcTemplate" />
        </bean>
     
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
            <property name="dataSource" ref="commonDataSource" />
        </bean>
     
        <bean id="queryLoader" class="fr.atatorus.gesicoba.dao.XMLClassPathQueryLoader">
            <constructor-arg index="0" value="ressources/queries.xml" />
        </bean>
     
        <bean id="userIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
            <property name="dataSource" ref="commonDataSource" />
            <property name="incrementerName" value="gesicoba.userIncrement" />
            <property name="columnName" value="val" />
        </bean>
    Voici mon code dans DaoUser :
    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
     
        private void insertUser (User _user) {
     
            String query = loader.getQuery ("insertUser");
            Integer id = incrementer.nextIntValue ( );
            Object args[] = {
                    id, _user.getLogin ( ), _user.getName ( ), _user.getHashPassword ( )
            };
            int types[] = {
                    Types.INTEGER, Types.VARCHAR, Types.VARCHAR, Types.CHAR
            };
            int n = template.update (query, args, types);
            System.out.println (n); // imprime bien 1
            _user.setId (id);
     
        }
    Quant à ma requête, la voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO gesicoba.people (id, login, name, hashPassword) VALUES (?, ?, ?, ?)
    Merci de m'aider, parce que là je ne vois pas où se situe l'erreur.

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Je sais pas si c'est une erreur de copier/coller, mais tu déclares 2 fois le bean jdbcTemplate (avec le même id). Ca devrait même pas charger ta config Spring.

  3. #3
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 144
    Points : 645
    Points
    645
    Par défaut
    tu as raison, c'est une simple erreur de copier coller. J'ai corrigé mon message original.
    Merci

  4. #4
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 144
    Points : 645
    Points
    645
    Par défaut
    J'ai fini par trouver : c'est ma datasource qui me renvoyait une connection non autocommit ...
    Je vais de ce pas m'attaquer à la gestion des transactions !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. catcher et lever une exception "others"
    Par brassouille dans le forum PL/SQL
    Réponses: 7
    Dernier message: 23/01/2009, 13h27
  2. Lever une exception contenue dans un if ?
    Par rXpCH dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/07/2008, 11h44
  3. Réponses: 6
    Dernier message: 03/07/2008, 15h36
  4. lever une EXCEPTION pour 2 blocs séparés
    Par atruong dans le forum Oracle
    Réponses: 2
    Dernier message: 05/05/2006, 10h27
  5. [SQL]Lever une exception sans planter le code
    Par Titouf dans le forum Oracle
    Réponses: 2
    Dernier message: 25/01/2006, 15h28

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