此文章為自己書寫,在Word上做的筆記,然後拷貝到這上邊的,無任何抄襲。另外若是程式有任何問題可以評論,也可私信我。
若是想看具體第四天的代碼可點選此處。
Hibernate查詢方式
1.對象導航查詢
(1)根據id查詢出某個客戶,再查詢這個客戶裡邊所有的聯系人
2.OID查詢
(1)根據id查詢某一條記錄,傳回對象
3.hql查詢
(1)Query對象,寫hql語句實作查詢
4.QBC查詢
(1)Ceiteria對象
5.本地sql查詢
(1)SQLQuery對象
對象導航查詢
1.查詢某個客戶裡面所有的聯系人過程,使用對象導航查詢
2.代碼
OID查詢
1.根據id查詢某一條記錄
(1)調用session裡邊的get方法進行查詢
2.代碼
HQL查詢
1.HQL:hibernate query language提供一種查詢語言,hql語言與普通sql語言相似,差別:普通sql操作資料庫表和字段,hql操作實體類和屬性
2.常用的hql語言
(1)查詢所有:from 實體類名稱
(2)條件查詢:from 實體類名稱 where 屬性名稱=?
3.使用hql查詢操作時候,使用Query對象
(1)建立Query對象,寫hql語句
(2)調用query對象的方法得到結果
查詢所有
1.hql查詢所有寫法
(1)from 實體類名稱
2.代碼
條件查詢
1.hql條件語句查詢寫法
(1)from 實體類名稱 where 實體類屬性名稱=? and 實體類屬性名稱=?
from 實體類名稱 where 實體類屬性名稱 like ?
2.代碼
模糊查詢:
排序查詢
1.hql排序語句寫法
(1)from 實體類名稱 order by 實體類屬性名稱 asc/desc
(2)代碼
分頁查詢
1.mysql實作分頁
(1)使用關鍵字limit實作
2.用hql實作分頁
(1)在hql操作中,語句中不能用limit,因為沒有這個關鍵字,而hibernate的query對象封裝了兩個方法實作分頁操作
3.代碼:
投影查詢
1.投影查詢:查詢的不是所有字段的值,而是部分字段的值,比如隻查詢某一個字段
2.投影查詢的hql語句寫法:
(1)select 實體類屬性名稱1, 實體類屬性名稱2 from 實體類名稱
(2)select後邊不能寫*,因為不支援
3.具體實作
聚集函數查詢
1.查用的聚集函數
(1)count/sum/avg/max/min
2.hql聚集函數語句的寫法
(1)查詢表中的記錄數
select count(*) from 實體類的名稱
傳回的是一個Long類型
解決辦法:先将Object類型轉換成Long類型,再将Long類型轉換成int類型