第一步:创建Web工程,导入相关jar包
jar包主要包括4个部分:Hibernate的核心包、必须(required)、jpa规范、mysql驱动。
第二步:建表
CREATE DATABASE hibernate_0;
USE hibernate_0;
CREATE TABLE t_user(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
PASSWORD VARCHAR(30)
);
第三步:创建实体模型类
package com.zju.model;
public class User {
/**可以把建表的SQL语句拷进来,对应着写实体模型
* CREATE TABLE t_user(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
PASSWORD VARCHAR(30)
);
*/
private Integer uid;
private String username;
private String password;
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [uid=" + uid + ", username=" + username + ", password=" + password + "]";
}
}
第四步:编写映射文件
文件位置:JavaBean同包 文件名:JavaBean同名 扩展名:*.hbm.xml
映射文件的约束在:Web App Libraries>hibernate3.jar>org.hibernate>hibernate-mapping-3.0.dtd中复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- class:配置实体与表的关系 name:实体的完整类名 table:与实体对应表的名称 -->
<class name="com.zju.model.User" table="t_user">
<!-- 配置主键 -->
<id name="uid">
<!-- 固定值:主键生成策略 -->
<generator class="native"></generator>
</id>
<!-- 配置普通属性:实体中的属性与表中的列名相对应 -->
<property name="username"></property>
<property name="password"></property>
</class>
</hibernate-mapping>
第五步:编写核心配置文件
位置:类路径下(src下) 名称:hibernate.cfg.xml
核心配置文件的约束在:Web App Libraries>hibernate3.jar>org.hibernate>hibernate-configuration-3.0.dtd中复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 基本四项 -->
<!-- 连接数据库的驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 连接数据库的URL -->
<property name="hibernate.connection.url">jdbc:mysql:///hibernate_0</property>
<!-- 连接数据库的用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 连接数据库的密码 -->
<property name="hibernate.connection.password">1234</property>
<!-- 加载映射文件 -->
<mapping resource="com/zju/model/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
第六步:编写测试代码
package com.zju.model;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class Test1 {
@Test
public void demo1(){
User user = new User();
user.setUsername("小明");
user.setPassword("1234");
//1 加载配置文件获得核心配置对象
Configuration config = new Configuration().configure();
//2 获得工厂 SessionFactory 相当于连接池
SessionFactory factory = config.buildSessionFactory();
//3 获得会话session,相当于连接Connection
Session session = factory.openSession();
//4 开启事务
Transaction ts = session.beginTransaction();
//操作对象
session.save(user);
//5 提交事务|回滚事务
ts.commit();
//6 释放资源,关闭session
session.close();
//7 释放资源,关闭工厂factory
factory.close();
}
}