2.1 動態sql語句
2.1.1動態sql語句概述
mybatis 的對映檔案中,前面我們的 sql 都是比較簡單的,有些時候業務邏輯複雜時,我們的 sql是動態變化的,此時在前面的學習中我們的 sql 就不能滿足要求了。
2.1.2動態 sql 之
我們根據實體類的不同取值,使用不同的 sql語句來進行查詢。比如在 id如果不為空時可以根據id查詢,如果username 不同空時還要加入使用者名稱作為條件。這種情況在我們的多條件組合查詢中經常會碰到。
select * from user
and id=#
and username=#
當查詢條件id和username都存在時,控制台列印的sql語句如下:
當查詢條件只有id存在時,控制台列印的sql語句如下:
2.1.3 動態 sql 之
迴圈執行sql的拼接操作,例如:select * from user where id in (1,2,5)。
select * from user
#
測試**片段如下:
foreach標籤的屬性含義如下:
標籤用於遍歷集合,它的屬性:
•collection:代表要遍歷的集合元素,注意編寫時不要寫#{}
•open:代表語句的開始部分
•close:代表結束部分
•item:代表遍歷集合的每個元素,生成的變數名
•sperator:代表分隔符
2.2 sql片段抽取
sql 中可將重複的 sql 提取出來,使用時用 include 引用即可,最終達到 sql 重用的目的
where id=#
#
MyBatis對映檔案
5 刪除 6 更新 7 根據員工id和姓名獲取員工物件 8 測試類 mybatis 的真正強大在於它的對映語句,也是它的魔力所在。由於它的異常強大,對映器的 xml 檔案就顯得相對簡單。如果拿它跟具有相同功能的 jdbc 進行對比,你會立即發現省掉了將近 95 的 mybatis 就是針對 sql ...
Mybatis對映檔案
查詢語句是mybatis中最常用的元素之一,mybatis的基本原則之一是 在每個插入,更新,或刪除操作之間,通常會執行多個查詢操作。因此,mybatis在查詢和結果對映做了相當多的改進。乙個簡單查詢的select元素是很簡單的 select from person where id 這個語句名為s...
MyBatis對映檔案
1.動態sql語句概述 mybatis 的對映檔案中,前面我們的 sql 都是比較簡單的,有些時候業務邏輯複雜時,我們的 sql是動態變化的,此時在前面的學習中我們的 sql 就不能滿足要求了。2.動態 sql 之 我們根據實體類的不同取值,使用不同的 sql語句來進行查詢。比如在 id如果不為空時...