1.2 第一个Hibernate程序(MyEclipse)

1.2 第一个Hibernate程序(MyEclipse)


1.2.1 Hibernate的执行流程

在Hibernate执行过程中通常会用到5个核心接口,分别为:Configuration接口、SessionFactory接口、Session接口、Transaction接口和Query接口。
下面是Hibernate的执行流程图:

在这里插入图片描述

1.2.2 实现第一个Hibernate程序

1. 下载Hibernate的开发环境并解压Hibernate
在这里插入图片描述
2. 创建一个Java项目Java,引入jar包
在这里插入图片描述
导入我们放进来的jar包
在这里插入图片描述

3. 创建表

CREATE DATABASE hibernatedemo;
USE hibernatedemo;
CREATE TABLE `user` (
  `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '编号(主键)',
  `user_name` varchar(32) NOT NULL COMMENT '姓名',
  `user_password` varchar(32) DEFAULT NULL COMMENT '密码',
  `user_phone` varchar(64) DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

4. 创建实体类


package cn.corey;

/**
 * 创建实体类
 * @author Administrator
 *
 */
public class Users {
	private Long user_id;
	private String user_name;
	private String user_password;
	private String user_phone;
	public Long getUser_id() {
		return user_id;
	}
	public void setUser_id(Long user_id) {
		this.user_id = user_id;
	}
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public String getUser_password() {
		return user_password;
	}
	public void setUser_password(String user_password) {
		this.user_password = user_password;
	}
	public String getUser_phone() {
		return user_phone;
	}
	public void setUser_phone(String user_phone) {
		this.user_phone = user_phone;
	}
	
}

5. 创建映射(★★★很重点★★★)
映射需要通过XML的配置文件来完成。
可以任意命名,但尽量统一命名规范(类名.hbm.xml)
在实体类的包下创建xml文件 (Users.hbm.xml):
在这里插入图片描述

<?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="cn.corey.Users" table="user">
	
		<!-- 建立类中的属性与表的主键的对应 -->
		<id name="user_id" column="user_id">
			<generator class="native"/>
		</id>
		
		<!-- 建立类中的普通属性和表的字段的对应 -->
		<property name="user_name" column="user_name"/>
		<property name="user_password" column="user_password"/>
		<property name="user_phone" column="user_phone"/>
	</class>
</hibernate-mapping>

6. 创建一个Hibernate的核心配置文件(★★★很重点★★★)

Hibernate的核心配置文件的名称:hibernate.cfg.xml

<?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>
		<property name="hibernate.connection.url">jdbc:mysql:///hibernatedemo</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123456</property>
		<!-- 配置hibernate方言 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		
		<!-- 可选配置 -->
		<!-- 打印sql语句 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 格式化sql -->
		<property name="hibernate.format_sql">true</property>
		
		<!-- 配置要引入的映射文件 -->
		<mapping resource="Users.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

注意一点,做完这两步,如果命名没有出错的话,应该是这个样子的:
在这里插入图片描述
7. 编写测试代码(★★★很重点★★★)

在编写测试代码之前呢,我们在这里在过一下Hibernate持久化的流程
// 1. 创建 Configuration对象,进行配置的装载、读取和解析。
// 2. 创建 SessionFactory对象,通过 Configuration创建该类实例,是产生 session的“工厂”。
// 3. 创建 Session对象,可以理解为 为数据库建立一个连接。
// 4. 开启一个事务,在 Java中定义一个事务操作的开始。
// 5. 进行持久化操作。(编写实现代码)
// 6. 结束、提交事务。
// 7. 关闭 Session类释放资源。

在上述的七个步骤中:
①~③在系统初始化时执行一次就可以了
以后每次执行持续化操作重复④~⑦就可以了

开始编码:

package cn.corey;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/**
 * Hibernate的入门案例
 * @author Administrator
 *
 */
public class HibernateDemo1 {

	public static void main(String[] args) {
		
		// 1. 创建 Configuration对象,进行配置的装载、读取和解析。
		Configuration configuration = new Configuration().configure();
		// 2. 创建 SessionFactory对象,通过 Configuration创建该类实例,是产生 session的“工厂”。
		SessionFactory sessionFactory = configuration.buildSessionFactory();
		// 3. 创建 Session对象,可以理解为 为数据库建立一个连接。
		Session session = sessionFactory.openSession();
		// 4. 开启一个事务,在 Java中定义一个事务操作的开始。
		Transaction transaction = session.beginTransaction();
		
		// 5. 进行持久化操作。(编写实现代码)
		Users users = new Users();
		users.setUser_name("张三");
		users.setUser_password("123456");
		session.save(users);
		
		// 6. 结束、提交事务。
		transaction.commit();
		// 7. 关闭 Session类释放资源。
		session.close();
	}
}

8. 运行测试

好了,到这里我,我们的编程就结束了,接下来,运行测试类,进行测试
结果图:
在这里插入图片描述
MySQL:
在这里插入图片描述
程序运行成功,要实现的添加用户也实现了。

到这里,我们的第一个Hibernate程序也就算是编写完成了!

发布了5 篇原创文章 · 获赞 7 · 访问量 251

猜你喜欢

转载自blog.csdn.net/Corey__Zhang/article/details/104702407
1.2
今日推荐