上篇大概的介绍了Hibernate框架,本篇一个简单的hibernate例子来学习。
Hibernate配置
(1) 创建自己的java项目。
(2) 向自己的项目中添加Hibernate的相关的jar,我们可以创建自己的UserLibrary,这样就直接加入这个依赖包就可以了(如图2.1图2.2)。

图2.1

图2.2
需要添加上的jar包包括,a、加入hibernate-3.2/lib/*.jar b、加入hibernate-3.2/hibernate2.jar c、加入数据库驱动(mysql驱动可以去官网上下载)这样添加到我们自定义的依赖包中,再在程序中引入这个包就可以了。
(3)加入hibernate配置文件,在学struts的时候我们常用的配置文件是struts-config.xml,hibernate的配置文件hibernate.cfg.xml,我们可以在hibernate-3.2\etc\hibernate.cfg.xml目录下拷贝到我们项目中的src下。
这样以上步骤就完成了几本hibernate的基本配置。
(4)接下来我们要建立我们的实体类了,以便完成对象与表的映射。建立User实体类,完成实体类的映射User.hbm.xml。代码如下所示。
User类代码:
package com.bjpowernode.hibernate;
import java.util.Date;
//user实体。
public class User {
//用户编号。
private String id;
//名字。
private String name;
//密码。
private String password;
//创建日期。
private Date createTime;
//失效时间。
private Date expireTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getExpireTime() {
return expireTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
}
User.hbm.xml代码如下所示:
(5) 将User.hbm.xml文件加入到hibernate.cfg.xml文件中,代码如下所示。
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/Hibernate_first root root org.hibernate.dialect.MySQLDialect true
(6) 编写工具类,ExportDB.java生成数据库中的表,代码如下所示。
package com.bjpowernode.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
/**
* 将hbm生成ddl.
* @author summer
*
*/
public class ExportDB {
/**将hbm生成ddl.
* @param args
*/
public static void main(String[] args) {
//使用hibernate相关类configuation.
//默认读取hibernate.cfg.xml文件.
Configuration cfg = new Configuration().configure();
//接受配置文件.
SchemaExport export = new SchemaExport(cfg);
//打印到控制台,输出到数据库.
export.create(true, true);
}
}
(7) 建立客户端类Client,向表User中添加数据。代码如下所示。
package com.bjpowernode.hibernate;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
* 客户端向表中添加数据.
* @author summer
*
*/
public class client {
public static void main(String[] args) {
//默认读取的是hibernate.cfg.xml 文件.
Configuration cfg = new Configuration().configure();
//建立SessionFactory.
SessionFactory factroy = cfg.buildSessionFactory();
//取得session.
Session session = null;
try
{
//通过工厂取得session
session = factroy.openSession();
//开启事务.
session.beginTransaction();
//给对象赋值.
User user = new User();
user.setName("张三");
user.setPassword("123");
user.setCreateTime(new Date());
user.setExpireTime(new Date());
//保存user对象到数据库.
// 一个实体类对象对应一个数据库中的表.
session.save(user);
//先拿到前面事务的对象.再提交事务.
session.getTransaction().