2009-10-05 7 views
2

Quelqu'un peut-il me dire s'il vous plaît la manière élégante d'insérer une instance de date java dans la base de données? Actuellement, j'utilise IBATIS avec Spring MVC. J'ai défini une propriété java.util.date dans la commande bean et l'éditeur de propriétés du contrôleur pour la conversion de date, mais je ne parviens pas à insérer la propriété java.util.date dans DB.java insertion de la date dans la base de données

devrais-je convertir cela en java.sql.date instance inorder pour stocker dans DB?

si je dois convertir, alors où écrire le code de conversion (DAO, ...)? Je suis nouveau sur J2EE, donc assez confus avec le traitement des objets de date.

toute aide?

concernant

+0

Pouvez-vous donner plus de détails sur les raisons pour lesquelles vous ne pouvez pas insérer? – Yuval

+0

See question similaire, [Date Java - Insérer dans la base de données] (http://stackoverflow.com/q/1081234/642706). –

Répondre

2

Je dois dire que je ne suis pas familier avec iBATIS ... Mais en regardant à travers leur documentation (page 27), vous pouvez ajouter un attribut jdbcType à votre mappage XML et indiquer spécifiquement au framework ORM quel type utiliser.

+0

hey, it, homme de travail merci beaucoup. – ernesto

1

À moins que vous utilisez Pache Derby/javadb que votre base de données, n'a rien à voir avec la classe Date de Java de type DATE de la base de données.

De plus, il n'y a pas de normalisation du type DATE entre les systèmes de base de données. Le grand-père DB2 utilise 'aaaa-mm-jj' comme format de chaîne externe, cette convention a été suivie par Sybase et par conséquent SQLServer et odbc. Cependant DATEFORMAT peut facilement être surchargé dans la configuration de SQLServer afin qu'il puisse finir comme presque n'importe quoi. Un format de date par défaut des bases de données ORACLE est défini au moment de l'installation et peut être presque tout dépend du caprice de l'installateur.

La plupart des ORM (pas trop familiers avec IBATIS) peuvent être configurés pour gérer ces conversions de date, une fois que vous savez à quoi s'attend le DB2 cible.

+0

merci james, je pense, ibatis ne fournit pas de configuration pour les conversions de date. donc, que faire avec la classe java.sql.date est-il nécessaire de convertir java.util.date en sql.date afin de le stocker dans DB? – ernesto

+0

BTW je veux dire base de données par DB ce n'est pas DB2. Pardon! – ernesto

Questions connexes