如何在Eclipse中使用Hibernate框架

版本信息:

Hibernate:5.8.0

MySQL:8.0.21

项目结构:

在这里插入图片描述

步骤:

1.导入相关jar包

解压缩hibernate压缩包之后,相关jar包目录如下,将目录下的所有jar包导入到项目中(导入的位置不固定,可以自己创建一个文件夹用来存放导入的jar包)
在这里插入图片描述
除此之外还需要导入的jar包

1). 连接MySQL的jar包
2). javaee-api-7.0.jar

当导入的jar包显示如下时:

在这里插入图片描述
此时只是将jar包复制到了项目中,但没有将jar包添加到构建路径中,继续执行操作

在这里插入图片描述
选中所有jar包,右击选择Build Path选择Add to Build Path,导入成功后显示如下:

在这里插入图片描述

2.创建相关配置文件

1)实体类映射文件User.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>
	<!-- name是实体类路径(包名.类名)  table是数据表名称 -->
	<class name="user.User" table="user_info">
	
		<!-- 实体类中要有一个唯一属性  数据表中也要有一个唯一列 -->
		<!-- name表示实体类中的唯一属性     column表示数据表中的唯一列 -->
		<!-- name表示实体类中的属性名  colum表示数据表的列名 可以省略 默认和name相同 -->
		<id name="Id" column="Id">
			<!-- 设置数据表的Id为主键 自动增长 -->
			<generator class="native"></generator>
		</id>
		
		<!-- 配置实体类中的其他属性和数据表的映射 -->		
		<!-- name表示实体类中的属性名  colum表示数据表的列名 可以省略 默认和name相同 -->
		<property name="Name" column="Name"></property>
		<property name="Age" column="Age"></property>
		<property name="Address" column="Address"></property>
	</class>
</hibernate-mapping>

配置的全部都是实体类中属性的映射

2)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>
	
		<!-- 1.配置数据库信息  必须配置-->
		<!-- 数据库驱动 -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<!-- 数据库url -->
		<property name="hibernate.connection.url">jdbc:mysql:///hibernate?useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai</property>
		<!-- 数据库用户名 -->
		<property name="hibernate.connection.username">root</property>
		<!-- 数据库密码 -->
		<property name="hibernate.connection.password">root</property>
		
		
		<!-- 2.配置hibernate信息  可选 -->
		<!-- 输出底层SQL语句 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 格式化SQL语句 -->
		<property name="hibernate.format_sql"></property>
		<!-- 自动创建表 -->
		<!-- update : 如果已经有相同名称的表则更新 若没有则创建 -->
		<property name="hibernate.hbm2ddl.auto">update</property>
		<!-- 配置方言  识别不同数据库关键字 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
		
		
		<!-- 3.添加映射文件  必须配置-->
		<mapping resource="user/User.hbm.xml"/>
		
	</session-factory>
</hibernate-configuration>

3.创建实体类User.java及其属性的set和get方法

package user;

public class User {
	private int Id;
	private String Name;
	private int Age;
	private String Address;
	
	public int getId() {
		return Id;
	}
	public void setId(int id) {
		Id = id;
	}
	public String getName() {
		return Name;
	}
	public void setName(String name) {
		Name = name;
	}
	public int getAge() {
		return Age;
	}
	public void setAge(int age) {
		Age = age;
	}
	public String getAddress() {
		return Address;
	}
	public void setAddress(String address) {
		Address = address;
	}
}

4.创建测试类HibernateDemo.java

package hibernate;


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

import user.User;

public class HibernateDemo {
	
	public static void main(String[] args) {
		
//		1.创建configuration对象
//		获取src目录下的核心配置文件hibernate.cfg.xml 将文件放到创建的configuration对象中 也可以概括为 加载核心配置文件
//		获取的核心配置文件是固定的 如果核心配置文件名称与要求的不一致 则无法获取
		Configuration configuration = new Configuration().configure();
		
//		2.创建sessionFactory对象
//		读取映射文件和实体类  并创建数据库
		SessionFactory sessionFactory = configuration.buildSessionFactory();
		
//		3.创建session对象
//		执行SQL的增删改查
		Session session = sessionFactory.openSession();
		
//		4.开启事务
//		获取事务对象 可以提交事务或回滚事务
		org.hibernate.Transaction tx = session.beginTransaction();
		
//		5.数据库操作
//		通过操作实体类来改变数据库中的值
//		添加数据
		User user = new User();
//		因为Id列为自动增长 所以可以不用添加
		user.setName("王五");
		user.setAge(17);
		user.setAddress("东北");
//		调用session的save方法实现添加
		session.save(user);
		
//		6.提交事务
		tx.commit();
		
//		7.关闭资源
		session.close();
		sessionFactory.close();
		
	}
}

如果核心配置文件中配置了自动创建表,那在执行测试类之前只需要创建好数据库就可以,在执行时,hibernate会为你自动创建指定的表

我将hibernate压缩文件和所需要的jar包整理了下放到这,有需要的可以去取
hibernate压缩文件及相关jar包获取地址:https://pan.baidu.com/s/18NhE-EnPMrpIgNr8JnK8zg
提取码:pk6w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值