Hibernate入門(四) 查詢

2022-07-03 19:30:14 字數 2518 閱讀 1895

1.hibernate檢索(查詢)方式的分類

2.hql查詢

2.1概述

​   hql:hibernate query language。 是物件導向(在sql裡面的列名在hql裡面應該寫屬性名)的查詢語言, 它和sql查詢語言有些相似。

​ 語法: 

string hql =...

query query = session.createquery(hql);

2.2基本查詢

2.2.1查詢所有

2.2.2條件查詢

2.3.聚合查詢

2.4分組查詢

2.5排序查詢

2.6.分頁查詢

​ setfirstresult:設定開始查詢的下標,最小取值是0,0代表第一條記錄

​ setmaxresults: 設定查詢結果顯示的條數。

2.7 投影查詢

​ 查詢指定字段

3.qbc查詢

3.1概述

​   qbc,query by criteria(條件查詢,更加物件導向的查詢方式)

3.2常見的條件查詢

運算子條件api描述=

restrictions.eq()

等於》restrictions.gt()

大於<

restrictions.lt()

小於》=

restrictions.ge()

大於等於

<=

restrictions.le()

小於等於

between

restrictions.between()

在某個範圍內

like

restrictions.like()

模糊查詢

inrestrictions.in()

在...中

andrestrictions.and()

並且or

restrictions.or()

或者3.3.聚合查詢

3.4分組查詢

3.5排序查詢

3.6.分頁查詢

​ setfirstresult:設定開始查詢的下標,最小取值是0,0代表第一條記錄 設定a

​ setmaxresults: 設定查詢結果顯示的條數。 設定 b

3.7離線條件查詢

​   我們之前也執行過條件查詢,不過這些條件查詢都是先建立了criteria物件,然後再不斷的追加條件。這種情況在提交比較少的時候,看上去是還不錯的。 假如我們這些引數都是要上層service 傳遞過來的,那麼顯得就不是那麼好看了。所以我們想想能否在外面先封裝好了,然後直接給我乙個總的條件即可。 這個總的條件,就是包含了前面的所有的條件。這就是離線條件查詢。 意思是,可以現在前面先封裝條件, 脫離session 建立出criteria這個情況。

4,sql查詢【了解】

5.連線查詢

5.1mysql裡面的多表查詢

5.1.1交叉查詢

5.1.2內連線查詢

5.1.3外連線查詢

5.2 hql連線查詢

5.2.1類別

5.2.2內連線

​ 內連線查詢可以獲取兩表的公共部分的記錄。

5.2.3外連線

總結:1、類級別延遲載入

1.1 描述

​ 懶載入預設是開啟的.一般不需要修改

​ session.get(): 非懶載入方法

​ session.load(): 預設就是是懶載入

1.2使load懶載入失效

​  在對映配置檔案的標籤上配置lazy=」false」

2.關聯級別的懶載入

2.1 概述

​   當查詢對應的物件時候, 是否立即查詢出其關聯的物件; eg: 查詢id的為1分類,是否立即查詢出是該類別下的商品

​   一般通過 '抓取策略' 和 '懶載入' 配合起來優化查詢.抓取策略:意思是抓取其關聯物件,在和標籤上有乙個fetch屬性,fetch控制傳送什麼型別的語句來抓取其關聯的物件

​   fetch: 抓取策略 :控制傳送什麼型別的sql語句 sql語句:就是對錶查詢(連線)

​   lazy: 懶或者不懶

2.2set的懶載入

2.2.1描述

在一的一方操作,即在set標籤上配置 fetch 和 lazy

2.2.2例子

​ 下面的操作都是在在一的一方操作,即在set標籤上配置 fetch 和 lazy

2.3many-to-one懶載入

2.3.1描述

在多的一方操作,即在many-to-one標籤上配置 fetch 和 lazy

2.3.2例子

​ 下面的操作都是在多的一方操作,即在many-to-one標籤上配置 fetch 和 lazy

3 批量抓取(了解)

同時抓取多方表中指定的條數的資料

hibernate的入門學習三 查詢方式

hql是hibernate專門用於查詢資料的語句,有別於sql,hql 更接近於物件導向的思維方式。使用步驟 首先根據hql建立乙個query物件 設定引數 和基1的preparedstatement不一樣,query是基0的 通過query物件的list 方法即返回查詢的結果了。使用hql,根據n...

Hibernate入門 入門案例

4.1 資料庫建立表 create table cst customer cust id bigint 32 not null auto increment comment 客戶編號 主鍵 cust name varchar 32 not null comment 客戶名稱 公司名稱 cust so...

Hibernate從入門到精通(四)基本對映

在上次的博文hibernate從入門到精通 三 hibernate配置檔案 了解了對映的意義和概念之後,我們來講解一下對映的分類。從對映的概念來看,單個的資料庫表可以對映成為乙個物件,拋開hibernate不談,這種思路在很多專案開發中時常見的,即根據表結構建立相應實體類,這種簡單的對映關係在hib...