Hibernate3.5.5_demo

3199 ワード

一、Jarパッケージを追加する:
coreパッケージ、required下のパッケージ、bytecodecglib下のcglibパッケージ、sl 4 jのパッケージ
二、hibernateを配置する.cfg.xml:
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
	<property name="show_sql">true</property>
	<property name="myeclipse.connection.profile">MySQL</property>
	<property name="connection.url">jdbc:mysql:///test</property>
	<property name="connection.username">root</property>
	<property name="connection.password">root</property>
	<property name="connection.driver_class">
		com.mysql.jdbc.Driver
	</property>
	<property name="dialect">
		org.hibernate.dialect.MySQLDialect
	</property>

	<property name="format_sql">true</property>
	<property name="hbm2ddl.auto">update</property>
	<mapping resource="com/song/po/po.hbm.xml" />
</session-factory>
</hibernate-configuration>

三、persistent objectパッケージの下にpoを置く.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
	"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping package="com.song.po">

	<class name="User" table="t_user">
		<id name="id" type="int">
			<generator class="native"></generator>
		</id>
		<property name="username"/>	
		<property name="age"/>	
		<property name="birthday"/>	
	</class>
	
</hibernate-mapping>

四、SessionFactoryをカプセル化するUtilクラスを書く:
package com.song.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
	private static Configuration cfg;
	private static SessionFactory sf;
	static{
		cfg = new Configuration().configure();
		sf = cfg.buildSessionFactory();
	}
	
	public static Session getsSession() {
		return sf.openSession();
	}
	
}

五、DMLをテストするクラスを書く:
package com.song.test;

import java.util.Date;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.song.po.User;
import com.song.util.HibernateUtil;

public class DMLTest {
	public static void main(String[] args) {
		Session session = HibernateUtil.getsSession();
		Transaction ts = session.beginTransaction();
		try {
			ts.begin();
			
//			User user = new User();
//			user.setUsername("admin");
//			user.setAge(20);
//			user.setBirthday(new Date());
//			session.save(user);
			
			User user = (User)session.load(User.class, 1);
			System.out.println(user.getUsername());
			
			ts.commit();
		} catch (HibernateException e) {
			e.printStackTrace();
			ts.rollback();
		} finally {
			session.close();
		}
	}
}