Hibernate學(xué)習(xí)(Hibernate查詢方式)

Hibernate查詢方式

  1. 對(duì)象導(dǎo)航查詢
    (1)根據(jù)id查詢某個(gè)客戶,再查詢這個(gè)客戶里面所有的聯(lián)系人
  2. OID查詢
    (1)根據(jù)id查詢某一條記錄,返回對(duì)象
  3. HQL查詢
    (1)Query對(duì)象,寫(xiě)hql語(yǔ)句實(shí)現(xiàn)查詢
  4. QBC查詢
    (1)Criteria對(duì)象
  5. 本地sql查詢
    (1)SQLQuery對(duì)象,使用普通sql實(shí)現(xiàn)查詢

對(duì)象導(dǎo)航查詢

  1. 查詢某個(gè)客戶里面所有聯(lián)系人過(guò)程,使用對(duì)象導(dǎo)航實(shí)現(xiàn)
  2. 代碼
1.png

OID查詢

  1. 根據(jù)id查詢記錄
    (1)調(diào)用session里面的get方法實(shí)現(xiàn)
2.png

HQL查詢

  1. hql:hibernate query language,hibernate提供一種查詢語(yǔ)言,hql語(yǔ)言和普通sql很相似,區(qū)別:普通sql操作數(shù)據(jù)庫(kù)表和字段,hql操作實(shí)體類和屬性
  2. 常用的hql語(yǔ)句
    (1)查詢所有: from 實(shí)體類名稱
    (2)條件查詢: from 實(shí)體類名稱 where 屬性名稱=?
    (3)排序查詢: from 實(shí)體類名稱 order by 實(shí)體類屬性名稱 asc/desc
  3. 使用hql查詢操作時(shí)候,使用Query對(duì)象
    (1)創(chuàng)建Query對(duì)象,寫(xiě)hql語(yǔ)句
    (2)調(diào)用query對(duì)象里面的方法得到結(jié)果

查詢所有

  1. 查詢所有客戶記錄
    (1)創(chuàng)建Query對(duì)象,寫(xiě)hql語(yǔ)句
    (2)調(diào)用query對(duì)象里面的方法得到結(jié)果
  2. 查詢所有: from 實(shí)體類名稱
1.png

條件查詢

  1. hql條件查詢語(yǔ)句寫(xiě)法:
    (1) from 實(shí)體類名稱 where 實(shí)體類屬性名稱=? and實(shí)體類屬性名稱=?
    from 實(shí)體類名稱 where 實(shí)體類屬性名稱 like ?
  2. 代碼
2.png

模糊查詢

3.png

排序查詢

  1. hql排序語(yǔ)句寫(xiě)法
    (1)from 實(shí)體類名稱 order by 實(shí)體類屬性名稱 asc/desc
4.png

分頁(yè)查詢

  1. mysql實(shí)現(xiàn)分頁(yè)
    (1)使用關(guān)鍵字 limit實(shí)現(xiàn)
SELECT * FROM S_MENU LIMIT 0,3;
  1. 在hql中實(shí)現(xiàn)分頁(yè)
    (1)在hql操作中,在語(yǔ)句里面不能寫(xiě)limit,hibernate的Query對(duì)象封裝兩個(gè)方法實(shí)現(xiàn)分頁(yè)操作
5.png

投影查詢

  1. 投影查詢:查詢不是所有字段值,而是部分字段的值
  2. 投影查詢hql語(yǔ)句寫(xiě)法:
    (1)select 實(shí)體類屬性名稱1, 實(shí)體類屬性名稱2 from 實(shí)體類名稱
    (2)select 后面不能寫(xiě) * ,不支持的
  3. 具體實(shí)現(xiàn)
6.png

聚集函數(shù)使用

  1. 常用的聚集函數(shù)
    (1)count、sum、avg、max、min
  2. hql聚集函數(shù)語(yǔ)句寫(xiě)法
    (1)查詢表記錄數(shù)
    select count(*) from 實(shí)體類名稱
7.png

QBC查詢

  1. 使用hql查詢需要寫(xiě)hql語(yǔ)句實(shí)現(xiàn),但是使用qbc時(shí)候,不需要寫(xiě)語(yǔ)句了,使用方法實(shí)現(xiàn)
  2. 使用qbc時(shí)候,操作實(shí)體類和屬性
  3. 使用qbc,使用Criteria對(duì)象實(shí)現(xiàn)

查詢所有

  1. 創(chuàng)建Criteria對(duì)象
  2. 調(diào)用方法得到結(jié)果
8.png

條件查詢

沒(méi)有語(yǔ)句,使用封裝的方法實(shí)現(xiàn)

9.png
10.png

排序查詢

1.png

分頁(yè)查詢

2.png

開(kāi)始位置計(jì)算公式: (當(dāng)前頁(yè)-1)*每頁(yè)記錄數(shù)

統(tǒng)計(jì)查詢

離線查詢

  1. servlet調(diào)用service,service調(diào)用dao
    (1)在dao里面對(duì)數(shù)據(jù)庫(kù)crud操作
    (2)在dao里面使用hibernate框架,使用hibernate框架時(shí)候,調(diào)用session里面的方法實(shí)現(xiàn)功能
4.png

HQL多表查詢

Mysql里面多表查詢

內(nèi)連接

5.png

左外連接

6.png

右外連接

7.png

HQL實(shí)現(xiàn)多表查詢

Hql多表查詢
(1)內(nèi)連接
(2)左外連接
(3)右外連接
(4)迫切內(nèi)連接
(5)迫切左外連接
#######HQL內(nèi)連接

  1. 內(nèi)連接查詢hql語(yǔ)句寫(xiě)法:以客戶和聯(lián)系人為例
    (1)from Customer c inner join c.setLinkMan
8.png

返回list,list里面每部分是數(shù)組形式

  1. 演示迫切內(nèi)連接
    (1)迫切內(nèi)連接和內(nèi)連接底層實(shí)現(xiàn)一樣的
    (2)區(qū)別:使用內(nèi)連接返回list中每部分是數(shù)組,迫切內(nèi)連接返回list每部分是對(duì)象
    (3)hql語(yǔ)句寫(xiě)法
    from Customer c inner join fetch c.setLinkMan
9.png

#######HQL左外連接

  1. 左外連接hql語(yǔ)句:
    (1)from Customer c left outer join c.setLinkMan
    (2)迫切左外連接from Customer c left outer join fetch c.setLinkMan

  2. 左外連接返回list中每部分是數(shù)組,迫切左外連接返回list每部分是對(duì)象

  3. 右外連接hql語(yǔ)句:
    (1)from Customer c right outer join c.setLinkMan

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,753評(píng)論 18 399
  • 本文包括:1、Hibernate 的查詢方式2、HQL (Hibernate Query Language) 查詢...
    廖少少閱讀 2,725評(píng)論 0 15
  • 一 對(duì)象導(dǎo)航查詢 根據(jù)id查詢某個(gè)客戶,再查詢這個(gè)客戶里面所有的聯(lián)系人 查詢某個(gè)客戶里面所有聯(lián)系人過(guò)程,使用對(duì)象導(dǎo)...
    常威爆打來(lái)福閱讀 1,143評(píng)論 3 6
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,017評(píng)論 0 11
  • 有多少你我就有多少酸楚 不為別離 只是一下子溜走了所有經(jīng)過(guò)
    初四的心閱讀 264評(píng)論 2 5

友情鏈接更多精彩內(nèi)容