如何在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

相關文章
相關標籤/搜索