如何在Eclipse中使用Hibernate框架

版本信息:

Hibernate:5.8.0java

MySQL:8.0.21mysql

项目结构:

在这里插入图片描述

步骤:

1.导入相关jar包

解压缩hibernate压缩包以后,相关jar包目录以下,将目录下的全部jar包导入到项目中(导入的位置不固定,能够本身建立一个文件夹用来存放导入的jar包)
在这里插入图片描述
除此以外还须要导入的jar包sql

1). 链接MySQL的jar包
2). javaee-api-7.0.jar数据库

当导入的jar包显示以下时:api

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

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

在这里插入图片描述

2.建立相关配置文件

1)实体类映射文件User.hbm.xmlide

文件名不固定,能够随便命名,位置固定测试

<?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>

配置的所有都是实体类中属性的映射ui

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

相关文章
相关标签/搜索