一.环境的搭建
1) 在项目中将一个config源目录(Source Folder)---用来出发配置文件和属性文件
一个test目录--存放用于测试程序
2) 将运行Hibernate程序的jar和Mysql驱动包导入进项目。
3) 在config中建立一个属性文件hibernate.properties用来配置数据库连接,内容为:
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql:///test
hibernate.connection.username = root
hibernate.connection.password = 123456
hibernate.dialect = org.hibernate.dialect.MySQLDialect
//可写可不写
hibernate.show_sql=true
hibernate.hbm2ddl.auto=update
注意:等号左边的属性名必须这样写。
4) 建立一个domain对象Customer:
package cn.itcast.hibernate.domain;
import java.util.Date;
public class Customer {
private Integer id;
private String name;
private Integer age;
private Date birth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
5)在Customer同包下,建一个Customer.hbm.xml(该名字建议与Customer一样):
<?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>
<class name="cn.itcast.hibernate.domain.Customer" table="CUSTOMERS" lazy="false">
<id name="id" column="ID" type="integer">
<generator class="increment"></generator>
</id>
<property name="name" column="NAME" type="string"/>
<property name="age" column="AGE" type="integer"/>
<property name="birth" column="BIRTH" type="date"/>
</class>
</hibernate-mapping>
6)建一个工具类HibernateUtil,用于建立数据库连接。
package cn.itcast.hibernate.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import cn.itcast.hibernate.domain.Customer;
public class HibernateUtil {
private static SessionFactory sessionFactory = null;
static{
//将属性文件加载到内存
Configuration conf = new Configuration();
//加载Customer.hbm.xml文件
//conf.addResource("");
//addClass源文件是通过Customer.class得到Customer类名再 //在后面加.hbm.xml就得到Customer.hbm.xml,就把该文件加载 //到内存
conf.addClass(Customer.class);
//所有文件加载完就可以建立SessionFactory
sessionFactory = conf.buildSessionFactory();
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
}
以上就把环境搭建好了
二.测试
1)向数据库插入Customer。
package cn.itcast.hibernate.app;
import java.sql.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import cn.itcast.hibernate.domain.Customer;
import cn.itcast.hibernate.util.HibernateUtil;
public class App {
static HibernateUtil hibernateUtil = new HibernateUtil();
public App() {
}
public static void insertCustomer(Customer customer){
SessionFactory sf = hibernateUtil.getSessionFactory();
Session session = sf.openSession();
Transaction transaction = session.beginTransaction();
session.save(customer);
transaction.commit();
session.close();
}
}
2) 测试该插入操作:
package cn.itcast.hibernate.test;
import java.sql.Date;
import org.junit.Test;
import cn.itcast.hibernate.app.App;
import cn.itcast.hibernate.domain.Customer;
public class AppTest {
@Test
public void testInsertCustomer() {
Customer customer = new Customer();
customer.setName("langzi");
customer.setAge(23);
customer.setBirth(Date.valueOf("1987-10-19"));
App.insertCustomer(customer);
}
}
3)结果控制台打出:
Hibernate: select max(ID) from CUSTOMERS
Hibernate: insert into CUSTOMERS (NAME, AGE, BIRTH, ID) values (?, ?, ?, ?)
在去查看数据库。有记录该程序就成功。