工作接近2年了,回想刚进入职场的自己,面对项目的茫然与兴奋,许多次遇到的问题都是在csdn这个大家庭找到了解决方案,
自己不断读大牛们的技术博客,并用于实践中,获益匪浅。现在我也想开始写自己的博客来记录成长的路,也希望能为新人们提供点帮助。
1.导入Hibernate必备的jar包,特别要注意除了导入lib下的jar包还需导入hibernate3.jar核心jar包。 由于涉及数据库操作,还应导入ojdbc驱动包。
例如:commons-collections.jar
commons-logging.jar
dom4j.jar
log4j.jar
ojdbc.jar
self-api.jar
self-simple.jar
javassist-3.12.0.GA.jar等。
2.建新一个名为User.java的类,即是上面所说的java对象。我们以后称这种类为实体类(或是持久化类),它的对象为实体对象(或是持久化对象)。
<span style="font-size:14px;">package com;
import java.util.Date;
public class User {
private int id;
private String name;
private Date time;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
}</span>
3.编写配置文件:User.hbm.xml。它和User.java放在同一个包下。内容如下:
<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2012-11-13 0:49:16 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="com.User" table="F_USER">
<id name="id" type="java.lang.Integer">
<generator class="native">
</generator>
</id>
<property name="name"></property>
<property name="time"></property>
</class>
</hibernate-mapping></span>
此配置文件,是用来为User.java进行配置的,我们以后称这种文件为实体配置文件(或是持久化类映射文件 )。
4.配置文件:hibernate.cfg.xml。它放在当前的项目的根目录下。内容如下:
<span style="font-size:14px;"><!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">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:fwj</property>
<property name="hibernate.connection.username">system</property>
<property name="hibernate.connection.password">fwj</property>
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.hbm2ddl.auto">create</property>
<mapping resource="com/User.hbm.xml"/>
</session-factory>
</hibernate-configuration></span>
主配置文件,完成了驱动注册,数据库连接,并关联了相应的java对象配置文件。
说明:<mapping>具体指定了关联的所有实体配置文件,关于它的作用可以注释掉此属性看效果。另通过<property name="hibernate.hbm2ddl.auto">create</property>指定了根据实体配置文件来自动生成表,其中包括:create/create-drop/update/validate四种可选方式。
5.编写测试类:UserTest.java 内容如下:
<span style="font-size:14px;">import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.User;
public class UserTest {
public static void main(String[] args){
Configuration cf = new Configuration();
cf.configure();
SessionFactory sf = cf.buildSessionFactory();
Session s = sf.openSession();
Transaction ts = s.beginTransaction();
User user=new User();
user.setName("jack");
user.setTime(new Date());
s.save(user);
ts.commit();
s.close();
System.out.println("done");
}
}</span>
Hibernate环境搭建并不难,只需要一步一步来,要注意jar包的引用,许多问题都是出现在jar包上。