框架:Mybatis中使用sql几种特殊情况
1???動態sql
1.1??什么是動態sql
mybatis核心 對sql語句進行靈活操作,通過表達式進行判斷,對sql進行靈活拼接、組裝(上一篇講解的常用的標簽)。
1.2??需求
用戶信息綜合查詢列表和用戶信息查詢列表總數這兩個statement的定義使用動態sql。
對查詢條件進行判斷,如果輸入參數不為空才進行查詢條件拼接。
1.3??mapper.xml
1.4??測試代碼
1.5??sql片段
1.5.1??需求
將上邊實現的動態sql判斷代碼塊抽取出來,組成一個sql片段。其它的statement中就可以引用sql片段。方便程序員進行開發。
1.5.2??定義sql片段
1.5.4??引用sql片段
where可以自動去掉override的符號
在mapper.xml中定義的statement中引用sql片段:
foreach
?
向sql傳遞數組或List,mybatis使用foreach解析
1.5.4??需求
?
在用戶查詢列表和查詢總數的statement中增加多個id輸入查詢(批量查詢)。
sql語句如下兩種方法:
SELECT * FROM USER WHERE id=1 OR id=10 OR id=16
SELECT * FROM USER WHERE id IN(1,10,16)
?
1.5.5?在輸入參數類型中添加List<Integer>ids傳入多個id
1.5.6??修改mapper.xml
WHERE id=1 OR id=10 OR id=16
在查詢條件中,查詢條件定義成一個sql片段,需要修改sql片段。
1.5.7??測試代碼
1.5.8??另外一個sql的實現:
總結
以上是生活随笔為你收集整理的框架:Mybatis中使用sql几种特殊情况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 框架:mybatis常用标签(refid
- 下一篇: 框架:mybatis的缓存机制