您的位置:首页 > 其它

Hibernate基本步骤

2009-08-17 18:08 246 查看
pre-准备

库文件

antlr-2.7.6.jar

cglib-2.1.3.jar

asm.jar

asm-attrs.jar

commons-collections-2.1.1.jar

commons-logging-1.0.4.jar

ehcache-1.2.3.jar

hibernate3.jar

jta.jar

dom4j-1.6.1.jar

log4j-1.2.11.jar

数据库

mysql 或者其它

jdbc---mysql-connector-java.jar

1、定义pojo类(持久化类)

public class User {
private String id;
private String name;

//所有的持久化类都要求有无参数的构造器
//hibernate必须使用java反射机制创建对象
public User(){

}

public final String getId() {
return id;
}
public final void setId(String id) {
this.id = id;
}
public final String getName() {
return name;
}
public final void setName(String name) {
this.name = name;
}

}


2、定义映射

<?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="package">
<class name="package.User" table="user">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name"></property>
</class>
</hibernate-mapping>


3、定义工厂

<?xml version="1.0" encoding="UTF-8"?>
<!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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>

<property name="connection.pool_size">1</property>

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<property name="current_session_context_class">thread</property>

<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

<property name="show_sql">true</property>

<property name="hbm2ddl.auto">true</property>

<mapping resource="events/Event.hbm.xml"/>
</session-factory>
</hibernate-configuration>


3、实例化工厂

import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;

static{
try{
sessionFactory = new Configuration().configure().buildSessionFactory();

}catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed:"+ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}

}


4、实现

import org.hibernate.Session;
import package.User;
import util.HibernateUtil;
public class Test {
public static void main(String[] args){
Test t = new Test();
t.createAndStoreEvent("bakeloar");
HibernateUtil.getSessionFactory().close();
}

private void createAndStoreEvent(String name){
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
User user= new User ();
user.setNAme(name);

session.save(user);

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