動态sql
1.什麼是動态sql
mybatis核心 對sql語句進行靈活操作,通過表達式進行判斷,對sql進行靈活拼接、組裝。
2.需求
使用者資訊綜合查詢清單和使用者資訊查詢清單總數這兩個statement的定義使用動态sql。
對查詢條件進行判斷,如果輸入參數不為空才進行查詢條件拼接。
3.mapper.xml
原查詢語句配置:
修改後的查詢語句配置:
4.測試代碼
測試結果:
1:張三
4:張三豐
輸出日志:
發現sql語句為select * from user where user.username like '%張三%' ,并沒有将sex拼接進去,說明我們的動态sql設定成功
相應的,把usercustom.setusername("張三");也注釋掉,發現輸出日志:
發現sql語句為select * from user,并沒有将sex和username拼接進去,說明我們的動态sql設定成功
5.sql片段
5.1需求
将上邊實作的動态sql判斷代碼塊抽取出來,組成一個sql片段。其它的statement中就可以引用sql片段。
友善程式員進行開發。
5.2定義sql片段
5.3引用sql片段
在mapper.xml中定義的statement中引用sql片段:
測試:
輸出日志:
說明sql片段引用成功
小結:
sql片段友善程式員進行開發
轉載請注明出處:http://blog.csdn.net/acmman/article/details/46581349