Exemple Maven 3 + Hibernate 3.6 + Oracle 11g (mappage XML)
Dans cet article, nous vous montrons comment intégrer ensembleMaven3,Hibernate3.6 etOracle11g. À la fin de cet article, vous allez créer un projet Java avec Maven et insérer un enregistrement dans la base de données Oracle via le framework Hibernate.
Outils et technologies utilisés dans cet article:
-
Maven 3.0.3
-
JDK 1.6.0_13
-
Hibernate 3.6.3.final
-
Oracle 11g
1. Création de table
Script Oracle SQL pour créer une table «DBUSER» dans la base de données.
CREATE TABLE DBUSER ( USER_ID NUMBER (5) NOT NULL, USERNAME VARCHAR2 (20) NOT NULL, CREATED_BY VARCHAR2 (20) NOT NULL, CREATED_DATE DATE NOT NULL, PRIMARY KEY ( USER_ID ) )
2. Créer un projet avec Maven
Utilisez Maven pour créer une structure de projet standard.
mvn archetype:generate -DgroupId=com.example -DartifactId=HibernateExample -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Note
Plus de détails, veuillez vous référer à ceHow to create a
Java project with Maven.
3. Maven vers Eclipse IDE
Convertissez le projet basé sur Maven généré en projet Eclipse et importez-le dans votre IDE Eclipse.
mvn eclipse:eclipse
4. Ajouter une dépendance Hibernate et Oracle
Mettez à jour votre fichierpom.xml
et ajoutez toutes les dépendances associées.
-
Vous avez besoin d'un «référentiel JBoss» déclaré pour le dernier jar Hibernate et ses dépendances.
-
Pour le pilote Oracle JDBC, vous devez l'installer manuellement dans votre référentiel maven local.
For Oracle JDBC Driver
Lire ce guide -How
to add Oracle JDBC driver in your Maven local repository
Fichier: pom.xml
4.0.0 com.example.common HibernateExample jar 1.0 HibernateExample http://maven.apache.org JBoss repository http://repository.jboss.org/nexus/content/groups/public/ junit junit 4.8.2 test com.oracle ojdbc6 11.2.0 org.hibernate hibernate-core 3.6.3.Final javassist javassist 3.12.1.GA
5. Fichier de mappage Hibernate (hbm) + modèle
Créez un fichier de mappage XML Hibernate et une classe Model pour la table «DBUSER».
- Créez le fichier «DBUser.hbm.xml
» suivant et placez-le sous «src/main/resources/com/example/user».
Note
Créez le dossier s'il n'existe pas.
Fichier: DBUser.hbm.xml
- Créez un fichier «DBUser.java
» et placez-le sous «src/main/java/com/example/user/»
Fichier: DBUser.java
package com.example.user; import java.util.Date; /** * Dbuser generated by hbm2java */ public class DBUser implements java.io.Serializable { private int userId; private String username; private String createdBy; private Date createdDate; public DBUser() { } public DBUser(int userId, String username, String createdBy, Date createdDate) { this.userId = userId; this.username = username; this.createdBy = createdBy; this.createdDate = createdDate; } public int getUserId() { return this.userId; } public void setUserId(int userId) { this.userId = userId; } public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } public String getCreatedBy() { return this.createdBy; } public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } public Date getCreatedDate() { return this.createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } }
Note
Vous pouvez avoir intérêt à lire cet article -Eclipse
Hibernate tools to generate Hibernate mapping files automatically.
6. Hibernate Configuration File
Créez un fichier de configuration Hibernate «hibernate.cfg.xml» et placez-le sous la racine du dossier de ressources, «src/main/resources/hibernate.cfg.xml», et remplissez les détails de votre base de données Oracle. Et mappez vers le fichier de mappage Hibernate ci-dessus - «DBUser.hbm.xml».
Fichier: hibernate.cfg.xml
oracle.jdbc.driver.OracleDriver jdbc:oracle:thin:@127.0.0.1:1521:MKYONG example password org.hibernate.dialect.Oracle10gDialect MKYONG true
7. Utilitaire Hibernate
Créez une classe classique «HibernateUtil.java
» pour prendre en charge la gestion des sessions Hibernate. Et mettez sous «src/main/java/com/example/util/HibernateUtil.java»
Fichier: HibernateUtil.java
package com.example.util; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { // Create the SessionFactory from hibernate.cfg.xml return new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } public static void shutdown() { // Close caches and connection pools getSessionFactory().close(); } }
8. Revoir la structure finale du projet
Examinez-le et la structure de votre projet devrait ressembler à ceci:
9. Codage Hibernate
Mettez à jour «App.java
», pour coder Hibernate pour enregistrer un enregistrement d'utilisateur factice dans une table «DBUSER».
Fichier: App.java
package com.example; import java.util.Date; import org.hibernate.Session; import com.example.util.HibernateUtil; import com.example.user.DBUser; public class App { public static void main(String[] args) { System.out.println("Maven + Hibernate + Oracle"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); DBUser user = new DBUser(); user.setUserId(100); user.setUsername("superman"); user.setCreatedBy("system"); user.setCreatedDate(new Date()); session.save(user); session.getTransaction().commit(); } }
10. Exécuter
Exécutez vos «App.java
» et voyez le résultat dans la vue de la console Eclipse:
Terminé.
Téléchargez-le -Maven3-Hibernate3.6-Oracle11-Example.zip (8 Ko)