Пример Oracle 11g для Maven 3 Hibernate 3.6 (сопоставление XML)

Maven 3 + Hibernate 3.6 + Пример Oracle 11g (сопоставление XML)

В этой статье мы покажем вам, как интегрироватьMaven3,Hibernate3.6 иOracle11g вместе. В конце этой статьи вы создадите проект Java с Maven и вставите запись в базу данных Oracle с помощью инфраструктуры Hibernate.

Инструменты и технологии, используемые в этой статье:

  1. Maven 3.0.3

  2. JDK 1.6.0_13

  3. Hibernate 3.6.3.final

  4. Oracle 11g

1. Создание таблицы

Сценарий Oracle SQL для создания таблицы «DBUSER» в базе данных.

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. Создать проект с Maven

Используйте Maven для создания стандартной структуры проекта.

mvn archetype:generate -DgroupId=com.example -DartifactId=HibernateExample
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Note
Более подробную информацию см. в этомHow to create a Java project with Maven.

3. Maven для Eclipse IDE

Преобразуйте сгенерированный проект на основе Maven в проект Eclipse и импортируйте его в свою Eclipse IDE.

mvn eclipse:eclipse

4. Добавить Hibernate и Oracle Dependency

Обновите файлpom.xml и добавьте все связанные зависимости.

  1. Вам необходимо объявить «репозиторий JBoss» для последней версии jar-файла Hibernate и его зависимости.

  2. Драйвер Oracle JDBC необходимо вручную установить в локальный репозиторий maven.

For Oracle JDBC Driver
Прочтите это руководство -How to add Oracle JDBC driver in your Maven local repository

Файл: 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. Файл сопоставления Hibernate (hbm) + модель

Создайте файл сопоставления XML Hibernate и класс модели для таблицы «DBUSER».

- Создайте следующий файл «DBUser.hbm.xml» и поместите его в «src/main/resources/com/example/user».

Note
Создайте папку, если она не существует.

Файл: DBUser.hbm.xml




    
        
            
            
        
        
            
        
        
            
        
        
            
        
    

- Создайте файл «DBUser.java» и поместите его в «src/main/java/com/example/user/»

Файл: 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
Вам может быть интересно прочитать эту статью -Eclipse
Hibernate tools to generate Hibernate mapping files automatically
.

6. Файл конфигурации Hibernate

Создайте файл конфигурации Hibernate «hibernate.cfg.xml» и поместите его в корень папки ресурсов «src/main/resources/hibernate.cfg.xml» и введите данные своей базы данных Oracle. И сопоставьте с приведенным выше файлом сопоставления Hibernate - «DBUser.hbm.xml».

Файл: 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. Hibernate Utility

Создайте классический класс «HibernateUtil.java», чтобы позаботиться об управлении сеансом Hibernate. И поставьте под «src/main/java/com/example/util/HibernateUtil.java»

Файл: 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. Обзор окончательной структуры проекта

Просмотрите его, и ваша структура проекта должна выглядеть следующим образом:

project folder structure

9. Кодирование гибернации

Обновите «App.java», чтобы запрограммировать Hibernate для сохранения фиктивной записи пользователя в таблице «DBUSER».

Файл: 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. Запустить его

Запустите ваш «App.java» и посмотрите результат в представлении консоли Eclipse:

Eclipse view result

Готово.

Related