LambdaQueryWrapper 中如何采用like的前導like查詢


     對於LambdaQueryWrapper這中方式的查詢,想必大家都已經使用的非常熟練了,而且也確實使用起來相對簡單和方便。但是在最近的使用中發現了一個現像,也就是在like的適合,生成的sql語句式前后都模糊的,這種方式在實際的項目中應該式慎重使用的,因為前面模糊對於系統的性能式有很大的挑戰的,尤其是數據量較大,並發也較大的場景,這幾乎就是致命的打擊。

    我想要的效果只是需要在變量的后面加上模糊就可以了,所以一頓網上搜索,最后終於找到了答案,其實也是比較簡單,一個方法而已。

   下面就把例子代碼提附上,大家一看就明了了:

  

 1  @Override
 2     public List<AuditorInformationDTO> queryUnitBySaveId(String saveId) {
 3 
 4         LambdaQueryWrapper<AuditorInformation> queryWrapper = new LambdaQueryWrapper<>();
 5 //        queryWrapper.like(AuditorInformation::getComments,saveId);
 6         queryWrapper.apply("AAE013"+" like {0}", saveId+"%");
 7 
 8         List<AuditorInformation> queryList = auditorInformationBLO.list(queryWrapper);
 9         //        類型轉換
10         List<AuditorInformationDTO> retList = ClassTypeConvert.conertList(AuditorInformationDTO.class,queryList);
11         return retList;
12     }

 

原來注釋掉的那段代碼也還在,可以對比一下,看看。這樣修改的后果,我看了一下控制台打出的sql語句,就是我想要的效果。

 


免責聲明!

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



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