Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它能使java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。那hibernate框架中最常用的數(shù)據(jù)查詢方式是哪些?下面來我們就來給大家講解一下。
hibernate框架的檢索方式有以下幾種:
1. OID檢索:根據(jù)唯一標(biāo)識(shí)OID檢索數(shù)據(jù);
2. 對象導(dǎo)航檢索:根據(jù)某個(gè)對象導(dǎo)航查詢與該對象關(guān)聯(lián)的對象數(shù)據(jù);
3. HQL檢索:通過query接口對象查詢;
4. QBC檢索:通過criteria接口對象查詢;
5. SQL檢索:通過SQL語句查詢;
Hibernate如何添加數(shù)據(jù)?
在 UserTest 類中創(chuàng)建一個(gè)名稱為 testInsert 的方法,該方法用于向數(shù)據(jù)庫中添加數(shù)據(jù),其代碼如下所示。
package com.mengma.test; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.Session; import org.junit.Test; import com.mengma.domain.User; public class UserTest { // 添加操作 @Test public void testInsert() { // 1.創(chuàng)建Configuration對象并加載hibernate.cfg.xml配置文件 Configuration config = new Configuration() .configure(); // 2.獲取SessionFactory SessionFactory sessionFactory = config.buildSessionFactory(); // 3.得到一個(gè)Session Session session = sessionFactory.openSession(); // 4.開啟事務(wù) Transaction transaction = session.beginTransaction(); // 5.執(zhí)行持久化操作 User user = new User(); user.setName("zhangsan"); user.setAge(21); user.setGender("男"); // 將對象保存到表中 session.save(user); // 6.提交事務(wù) transaction.commit(); // 7.關(guān)閉資源 session.close(); sessionFactory.close(); } }
上述代碼中,首先創(chuàng)建 Configuration 類的實(shí)例,并加載解析 hibernate.cfg.xml 核心配置文件。然后獲取 SessionFactory 讀取解析映射文件信息,并將 Configuration 對象中的所有配置信息加載到 SessionFactory 內(nèi)存中。接著得到一個(gè) Session,開啟一個(gè)事務(wù),之后創(chuàng)建 User 對象,向?qū)ο笾性O(shè)置添加數(shù)據(jù),通過 session.save() 方法完成向數(shù)據(jù)庫中保存數(shù)據(jù)的操作。最后提交事務(wù),并關(guān)閉資源。
添加 JUnit 測試
在軟件開發(fā)過程中,需要有相應(yīng)的測試工作。依據(jù)測試目的的不同,可以將軟件測試分為單元測試、集成測試、系統(tǒng)測試等。其中單元測試在軟件開發(fā)階段是最底層的測試,它易于及時(shí)發(fā)現(xiàn)并解決問題。JUnit 就是一個(gè)進(jìn)行單元測試的開源框架。
本程序使用的就是單元測試框架 JUnit4,使用此框架測試時(shí),不需要 main 方法,就可以直接對類中的方法進(jìn)行運(yùn)行測試。其中 @Test 用于測試的注解,要測試哪個(gè)方法,只需要在相應(yīng)測試的方法上添加此注解即可。
當(dāng)在需要測試方法上寫入 @Test 后,MyEclipse 會(huì)在 @Test 處報(bào)出 Test cannot be resolved to a type 的錯(cuò)誤,將鼠標(biāo)移到 @Test 處,在顯示的彈出窗口中,單擊 Add JUnit4 library to the build path,程序會(huì)自動(dòng)將 JUnit4 的支持包加入到項(xiàng)目中,如圖所示。
添加后在項(xiàng)目中會(huì)多出兩個(gè)關(guān)于 JUnit4 的 JAR 包,在 MyEclipse 中的顯示如圖所示。
在 UserTest 類中,右擊 testInsert() 方法,在彈出的快捷菜單中選擇 Run As→JUnit Test 選項(xiàng)運(yùn)行測試,如圖所示。
單擊 JUnit Test 選項(xiàng)后,運(yùn)行的結(jié)果如圖所示。
在圖中,當(dāng) JUnit 選項(xiàng)卡的進(jìn)度條為綠色時(shí),表明運(yùn)行結(jié)果正確,如果進(jìn)度條為紅色,則表示有錯(cuò)誤,并且會(huì)在窗口中顯示所報(bào)的錯(cuò)誤信息。運(yùn)行成功后,查詢數(shù)據(jù)庫 user 表中的數(shù)據(jù),其結(jié)果如圖所示。
從圖中可以看出,使用 Hibernate 框架成功地向 user 表中添加了一條數(shù)據(jù)。
這樣 Hibernate 就成功添加數(shù)據(jù)了,當(dāng)然能添加數(shù)據(jù)就可以修改數(shù)據(jù),關(guān)于修改數(shù)據(jù)相關(guān)操作我們在以后給大家分享哦!最后大家如果想要了解更多java架構(gòu)師知識(shí),敬請關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“hibernate框架中最常用的數(shù)據(jù)查詢方式是哪些?Hibernate如何添加數(shù)據(jù)?”已幫助 116 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579