1. 您好,歡迎來到賦能網(wǎng)!

    hibernate框架中最常用的數(shù)據(jù)查詢方式是哪些?Hibernate如何添加數(shù)據(jù)?

    賦能網(wǎng) 2023-05-09 118

    Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它能使java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。那hibernate框架中最常用的數(shù)據(jù)查詢方式是哪些?下面來我們就來給大家講解一下。

    hibernate框架的檢索方式有以下幾種:

    1. OID檢索:根據(jù)唯一標(biāo)識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)師知識,敬請關(guān)注賦能網(wǎng)。


    本文鏈接:

    本文章“hibernate框架中最常用的數(shù)據(jù)查詢方式是哪些?Hibernate如何添加數(shù)據(jù)?”已幫助 118 人

    免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(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

    如果本頁不是您要找的課程,您也可以百度查找一下: