Hibernate框架介紹以及入門 【二】Hibernate的常見配置

Hibernate框架介紹以及入門 【二】

Hibernate的常見配置

一、關於XML提示的配置

1、配置hibernate-mapping-3.0.dtd - XML

在這裏插入圖片描述
配置這三個地方
第一個;location
在這裏插入圖片描述
第二個:URL
第三個:
在這裏插入圖片描述

在這裏插入圖片描述

2、配置hibernate-configuration-3.0.dtd - XML

在這裏插入圖片描述
第二個:URL
第三個:
其它步驟與上面類似

完整代碼:

二、關於hibernate映射的配置

映射
在這裏插入圖片描述

1、【class標籤的配置】

這個標籤是來建立類與表(數據庫)的映射關係
屬性:
name:類的一個全路徑
table: 表名(類名如果和表名一致那麼table可以省略)
catalog:數據庫名

2、【id標籤的配置】

標籤用來建立類中的屬性
name:類當中的屬性名
column:表中的字段(類當中的屬性名和表當中的字段名如果一致則column省略)
length:長度
type:類型

3、【property標籤的配置】

標籤用來建立類中的普通屬性與表的字段的對應關係:
屬性:
name:類當中的屬性名
column:表中的字段
length:長度(建表的時候指定長度)
type: 類型 type=“string”
在這裏插入圖片描述
或者可以添加一個子標籤
在這裏插入圖片描述
一般情況下都可以自動轉換
not-null: 設置是否允許爲空
unique:設置是否是唯一的
在這裏插入圖片描述

Hibernate的核心配置方式
一種方式:屬性文件的方式:hibernate.properties
—》hibernate.connection.driver_class=com.mysql.jdbc.Driver
—》hibernate.show_sql=true
與下面的第二種方式效果一樣

以上屬性文件的方式不能引入映射文件的方式(手動編寫代碼去加載映射文件)

二種方式:XML文件的方式:hibernate.cfg.xml
如下

三、核心的配置hibernate.cfg.xml

配置
在這裏插入圖片描述

配置的詳細分解:

(1)必須的配置
鏈接數據庫的基本參數
a、驅動類
b、URL路徑
c、用戶名
d、密碼
e、方言
(2)可選的配置
a、顯示SQL語句:hibernate.show_sql
b、格式化SQL語句:hibernate.format_sql
c、自動建表:hibernate.hbm2ddl.auto
none:不使用hibernate的自動建表
create:如果數據庫當中已經有表了會刪除已有表,重新創建,如果沒有表那麼就新建表
在這裏插入圖片描述
create-drop:數據庫當中已經有表了會刪除已有表,執行操作,執行完之後會刪除這個表,如果沒有表,會新建一個,使用完了刪除該表。
在這裏插入圖片描述
設置好該項的時候需要關閉工廠sessionFactory.close();
在java代碼當中
在這裏插入圖片描述
update:如果數據庫當中有表,使用原有的表,如果沒有表,創建一個新表(更新表結構)
在這裏插入圖片描述
java當中的變量和表當中的相同如果不同時不會報錯會創建新的列
在這裏插入圖片描述
validate:如果沒有表,不會創建表。只會使用數據庫當中原有的表。(校驗映射和表的結構)
在這裏插入圖片描述
java當中的變量必須和表當中的相同如果不同則會報錯
在這裏插入圖片描述
(3)映射文件的引入
引入映射文件的位置
hibernate.cfg.xml
在這裏插入圖片描述

測試代碼:

/*
 * Hibernate入門案例
 */
public class HibernateDemo01 {
	@Test
	// 保存客戶的案例
	public void demo01() {
		// 1、加載Hibernate核心配置文件
		Configuration configuration = new Configuration().configure();// 該方法加載了Customer.hbm.xml
		// 2、創建SessionFactory對象:類似於JDBC中的鏈接池
		SessionFactory sessionFactory = configuration.buildSessionFactory();// sessionFactory工廠
		// 3、通過SessionFactory獲取到Session對象:類似於我們JDBC中的Connection
		Session session = sessionFactory.openSession();// Hibernate以及和mysql數據庫建立起鏈接
		// 4、手動開啓事務:
		Transaction transaction = session.beginTransaction();
		// 5、編寫代碼
		Customer customer = new Customer();
		customer.setCust_name("張三");
		session.save(customer);
		// 6、事務提交
		transaction.commit();
		// 7、資源釋放
		session.close();
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章