Hibernate是一个面向JAVA环境的对象/关系映射工具,它的是完成数据持久化,处理的是对象,把对象映射到数据库中,作为一条记录。
通常一个完整的Hibernate有三个必要的文件:
1、配置文件:hibernate.cfg.xml
2、映射文件:*.hbm.xml
3、POJO类:java的简单对象
Hibernate开发步骤(MyEclipse下):
一、添加Hibernate的开发能力
1、作为测试,我们先在Mysql下创建一个数据库xscj,在该数据库下创建一张表xsb,表中字段见图(相册中)
2、建立数据源,将MyEclipse视图换到MyEclipse Database Explorer,空白处new一个database connection driver(选择相应的数据库类型,填写名称,URL,用户名,密码等信息,添加数据库的JDBC的jar包),在新连接的数据库上右键open connection连接上数据库,可以找到我们准备好的表。
3、回到MyEclipse视图,新建一个项目,在工具栏MyEclipse下选择project capbilities选择add hibernate capbilities 添加相应的jar包,选择JDBC数据源,生成SessionFactory类(需要自己新建一个包),finish。
完成这一步我们观察项目,发现src目录下我们新建的包中多了一个SessionFactory类,还多了一个hibernate.cfg.xml(Hibernate的配置文件),项目中多了Hibernate的响应jar包。
二、反向工程一个表
1、src目录下新建一个包,回到Database Explorer视图下,在数据库中我们准备的表中右键Hibernate Reverse Engineering,目录选择我们刚刚建的包,让MyEclipse自动为我们生成映射文件、POJO类、DAO,根据表中数据属性(主键、自动递增)选择响应的Id Generator,finish。
换回到MyEclipse视图,观察项目,我们刚才的包中多了关于表的各种相关文件(Abstract、DAO、映射文件等)。
三、写一个test类,来验证我们的配置
在src目录下新建一个包,在包下新建一个class,写一个验证的小程序,如下:
package org.test;
import java.util.Date;
import java.util.List;
import hai.HibernateSessionFactory;
import org.hai.Xsb;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
Xsb xsb = new Xsb();
xsb.setXm("孙海港");
xsb.setBz("随便写点");
xsb.setXb(Byte.valueOf("1"));
xsb.setXh("123456");
xsb.setZy(2);
session.save(xsb);
ts.commit();
Query query = session.createQuery("from Xsb");
List list = query.list();
Xsb xsb1 = (Xsb)list.get(0);
System.out.println(xsb.getXm());
HibernateSessionFactory.closeSession();
}
}