1. 程式人生 > >Hibernate學習——測試環境搭建及配置檔案書寫是否正確

Hibernate學習——測試環境搭建及配置檔案書寫是否正確

測試程式碼:

	@Test
	public void testfun1() {
		// 建立讀取配置檔案類
		Configuration cf = new Configuration();
		// 讀取配置檔案
		cf.configure();
		// 建立SessionFactory
		SessionFactory sf = cf.buildSessionFactory();
		// 建立Session
		Session session = sf.openSession();
		// 開啟事務
		Transaction tst = session.beginTransaction();
		// 執行操作
		Customer c=new Customer();
		c.setCust_name("胡胡");
		session.save(c);
		// 關閉事務,關閉資源
		tst.commit();
		session.close();
		sf.close();
	}

如果測試方法執行成功,控制帶會列印一句sql語句

Hibernate: 
    insert 
    into
        cst_customer
        (cust_name,  cust_phone, cust_mobile) 
    values
        (?, ?, ?)
 

這時候,到資料庫中檢視資料是否插入成功,如果成功了,說明專案搭建正確了。

// 讀取配置檔案
Configuration.configure();

使用無參方法讀取配置檔案時,會預設載入src下hibernate.cfg.xml檔案,這就是推薦主配置檔案的名稱為hibernate.cfg.xml的原因,如果主配置檔名不是這個,就需要使用過載的有參方法指定載入哪個配置檔案。

Configuration物件:主要作用:讀取配置檔案資訊,根據配置檔案資訊建立SessionFactory(session工廠)

SessionFactory物件:主要作用:建立Session物件
// 建立SessionFactory
SessionFactory sf = cf.buildSessionFactory();

Session 物件:主要作用,使用hibernate框架的主要操作都是通過Session物件來完成的。
// 建立Session
Session session = sf.openSession();

Transaction 物件:主要作用:控制執行緒(開啟、提交、回滾)

/* 建立Transaction ,beginTransaction()方法建立的Transaction 物件已經開啟事務,所以不需要再次手動開啟事務

Transaction tst = session.beginTransaction();