MyBatis-Plus使用SQL語句


  • 項目中碰到一個必須要使用動態SQL的地方,

想着在xml文件中進行一層一層的判斷太麻煩了,也不好理解,要是能在Java代碼中組織好SQL,進行查詢操作

QueryWrapper<object> queryWrapper = new QueryWrapper<>();
queryWrapper.apply("組織好的SQL語句");
List<object> streamList = Mapper.selectList(queryWrapper);

這樣就可以在Java代碼中進行SQL語句的組織,然后傳入mybatis-plus進行查詢使用.

注意:

    • 組織好的SQL語句一定是可執行的,mybatis不會進行語句校驗直接進行查詢操作
    • 組織好的SQL語句中不能包含別名,不使用別名會不會報錯?經測試是不會的,mybatis自己會進行處理,所以語句中包含子查詢或者嵌套語句,需要去掉別名

 

  • 使用QueryWrapper的時候,傳入的參數如果為空不進行SQL拼接的操作

QueryWrapper<object> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(“傳入的參數值”),“列值”,“傳入的值”);
List<object> streamList = Mapper.selectList(queryWrapper);

這樣設置完,傳入的參數如果為空的話,就不會拼接這條like語句,就可以達到效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM