您的位置:首页 > 数据库 > Oracle

hiberante4连接oracle数据库入门

2015-09-01 11:45 621 查看
一个简单入门案例:

1.项目目录结构:



2.org.hibernate.tutorial.domain

package org.hibernate.tutorial.domain;

import java.util.Date;

public class Event {

	private Long id;
	private String title;
	private Date date;
	public Event() {
	}
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public Date getDate() {
		return date;
	}
	public void setDate(Date date) {
		this.date = date;
	}
	
}
Event.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="org.hibernate.tutorial.domain">
   <class name="org.hibernate.tutorial.domain.Event" table="TB_Event">
       <id name="id" column="EVENT_ID" type="long">
           <generator class="native"></generator>
       </id>
       <property name="title" column="EVENT_TITLE" type="string"></property>
       <property name="date" column="EVENT_DATE" type="timestamp"></property>
   </class>
</hibernate-mapping>


hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

		  <session-factory>  
  
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>  
        <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:mrdb</property>  
        <property name="hibernate.connection.username">claim</property>  
        <property name="hibernate.connection.password">admin</property>  
  
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>  
  
        <property name="hibernate.show_sql">true</property>  
        <property name="hibernate.format_sql">true</property>  
  
        <property name="hibernate.hbm2ddl.auto">update</property>  
  
        <property name="hibernate.jdbc.fetch_size">100</property>  
        <property name="hibernate.jdbc.batch_size">30</property>  
  
      
        <!-- 配置二级缓存  
             <property name="hibernate.cache.use_second_level_cache">true</property>  
            <property name="hibernate.cache.use_query_cache">true</property>  --> 
        <!-- Hibernate4 这里和Hibernate3不一样 要特别注意!!! 
        <property name="hibernate.cache.region.factory_class">org.hibernate.cache.EhCacheRegionFactory</property>  
           -->
        <!-- Hibernate3 -->  
        <!-- <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> -->  
          
        <!-- 配置C3P0 -->  
        <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>  
        <property name="hibernate.c3p0.max_size">10</property>  
        <property name="hibernate.c3p0.min_size">1</property>  
        <property name="hibernate.c3p0.max_statements">3</property>  
        <property name="hibernate.c3p0.timeout">30</property>  
        <property name="hibernate.c3p0.acquire_increment">1</property>  
        <property name="hibernate.c3p0.idle_test_periodt">10</property>  
           
        <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml" />  
          
    </session-factory> 

</hibernate-configuration>
3.org.hibernate.tutorial.util

HibernateUtil.java

package org.hibernate.tutorial.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class HibernateUtil {
	
	private static SessionFactory bulidSessionFactory(){
		try{
		     
			Configuration cfg = new Configuration().configure();
			
			ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
			SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);
			return sessionFactory;
			
		}catch(Exception ex){
			System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
		}
	}
	private static final SessionFactory sessionFactory = bulidSessionFactory();
	public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}
4.用来测试的

package org.hibernate.tutorial.test;

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.tutorial.domain.Event;
import org.hibernate.tutorial.util.HibernateUtil;

public class EventManager {

	public static void main(String[] args) {
		
		   SessionFactory sessionFactory = HibernateUtil.getSessionFactory();  
           Session session = sessionFactory.openSession(); 
	        session.beginTransaction();

	        Event theEvent = new Event();
	        theEvent.setTitle("开学啦");
	        theEvent.setDate(new Date());
	        session.save(theEvent);

	        session.getTransaction().commit();
	        session.close();
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: