Hibernate的入门案例

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

猜你喜欢

转载自blog.csdn.net/pcwl1206/article/details/80618936
今日推荐