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 :

[IBATIS] Demande d'information


Sujet :

Spring Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut [IBATIS] Demande d'information
    Bonjour; je vien de débuter Spring et je comptait utiliser ibatis pour la couche gestion dao

    mais j'ai plusieurs questions et problemes.
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	<!-- SqlMapCllient -->
    	<bean id="sqlMapClient" 
    		class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    		<property name="dataSource">
    			<ref local="dataSource"/>
    		</property>
    		<property name="configLocation">
    			<value>classpath:sql-map-config-mysql.xml</value>
    		</property>
    	</bean>
    <sqlMapConfig>
    	<sqlMap resource="login-mysql.xml"/>
    </sqlMapConfig>
    Est ce qu'il check a chaque appel le contenu de chaque sqlMap resource , lorsuqe j'appelle par exemple un getlogin ou un getproduit ?

    2°) Je voulais savoir comment gérer 3 cas qui m'embete dans les tutorial j'ai rien trouvé

    se genre de cas j'ai compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select id="getPerson" parameterClass=”int” resultClass="examples.domain.Person">
    SELECT
    PER_ID as id,
    PER_FIRST_NAME as firstName,
    PER_LAST_NAME as lastName,
    PER_BIRTH_DATE as birthDate,
    PER_WEIGHT_KG as weightInKilograms,
    PER_HEIGHT_M as heightInMeters
    FROM PERSON
    WHERE PER_ID = #value#
    </select>
    mais pour un de ces cas comment faire ?
    -select count(*) as nb, max(date_co) as dt from log
    Comment gerer le retour sans creer une classe ? ( exemple comme dbutil recuperer un ArrayList)

    -select champ1, champ2 from log where login=#val1# and pass=#val2#
    Comment lui passer les 2 parametres sans creer un bean ? exemple en lui passant un hashmap avec [val1,robert] et [val2,truc]

    -select champ1, champ2 from log where #val1# like '#val2#%'
    Comment gerer aussi se cas ou je mettrais dans val1 = login et val2= rob

    Merci d'avance pour les réponses a venir
    Car la j'ai trop de mal, comment je pourrait mener a bien mon projet (du moin avec ibatis) si je peut pas ces differents cas .

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 108
    Points : 98
    Points
    98
    Par défaut
    1) Le sqlMap est chargé une seule fois.

    2) - première requête : tu peux retourner un HashMap. Regarde la partie resultMap dans la doc de Ibatis.
    - deuxième : tu peux passer un Map sans aucun problème. Tu n'as même pas besoin de préciser le parameterClass.
    - trosième : je n'ai jamais essayé

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Suite a different test

    -select champ1, champ2 from log where login=#val1# and pass=#val2#
    simplement on lui passe une hashMap



    -select champ1, champ2 from log where #val1# like '#val2#%'
    la par contre on peut pas faire a priori c est un peu decevant

    donc sa devient
    val1= champ1
    val2= toto%
    -select champ1, champ2 from log where $val1$ like #val2#

    j'aimerais savoir si il existe un moyen pour mettre le % directement dans la ligne de requete du sqlmap .

    Et enfin j'ai une autre question
    y a t'il un moyen de recuperer la requete executer pour l'afficher dans le System.out par exemple ?

    Merci pour les réponses a venir

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 130
    Points : 68
    Points
    68
    Par défaut
    Quel est la difference entre ibatis et Hibernate??
    merci

  5. #5
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    La différence entre iBATIS et Hibernate? Le sujet est vaste.
    Ce sont tout les deux des framework de persistance de données.

    Mais leurs philosophie sont fort différentes, hibernate est un framework trés complet d'c (Object-Relational Mapping) qui permet de mapper un objet sur une table de base de données en se basant sur un fichier XML de mapping. Hibernate va ensuite d'occuper de générer pour vous les requêtes SQL nécessaires.

    iBATIS, est beaucoup plus simple et vous permet juste de mapper des requêtes SQL sur des objet en se basant sur une Map.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 130
    Points : 68
    Points
    68
    Par défaut
    Je connais Hibrnate
    Ibatis est plus simple a prendre en main?? peut etre moi performant? ou moins complet non?

  7. #7
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Effectivement, je trouve iBATIS simple à prendre en main (bien que trés différents d'hibernate donc pas si simple que ça quand on connait déjà hibernate) et moins complet; Au niveau des performance, comme on écrit les requêtes SQL à la main elles peuvent être plus performante ou moins performante (ça dépend de la qualité de la personne qui les écrit), et comme il n'y a pas de cache intégré de haute performances sont plus difficile (idéalement il faut implémenter sois-même un cache).

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 130
    Points : 68
    Points
    68
    Par défaut
    oki ben je vais me documenter dessus ms pour le moment je vais avancer dans hibernate

Discussions similaires

  1. Demande d'information pour ajout d'API Java dans eclipse
    Par BernardT dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/07/2005, 17h08
  2. Demandes d'informations divers sur SGBD
    Par AlexB59 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 26/05/2005, 12h41
  3. [ATL - ActiveX] demande d informations
    Par venomelektro dans le forum MFC
    Réponses: 7
    Dernier message: 22/03/2005, 20h09
  4. Réponses: 3
    Dernier message: 01/02/2004, 21h24

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