第一步:创建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(); } }