Maven 3 Exemple Hibernate 3.6 Oracle 11g (mappage XML)

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:

  1. Maven 3.0.3

  2. JDK 1.6.0_13

  3. Hibernate 3.6.3.final

  4. 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.

  1. Vous avez besoin d'un «référentiel JBoss» déclaré pour le dernier jar Hibernate et ses dépendances.

  2. 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:

project folder structure

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:

Eclipse view result

Terminé.

Téléchargez-le -Maven3-Hibernate3.6-Oracle11-Example.zip (8 Ko)