mybatisplus where QueryWrapper加括號嵌套查詢方式
更新時間:2022年01月11日 11:34:49 作者:職業(yè)禿頭程序員
這篇文章主要介紹了mybatisplus where QueryWrapper加括號嵌套查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
where QueryWrapper加括號嵌套查詢
之前的代碼是這個樣子的:
QueryWrapper<RyxyMemberEntity> wrapper = new QueryWrapper<>(); ? ? wrapper.eq("phoneNumber", phone); ? ? if (StringUtils.isEmpty(scenetype)){ ? ? ? ? ? ? wrapper.isNull("scenetype").or().eq("scenetype", ""); ? ? } ? ? wrapper.eq("delFlag", "0");
相對應的SQL語句如下:
WHERE( phoneNumber = 156****8888 AND scenetype IS NULL OR scenetype = "" AND delFlag = 0)
這并不是我想要的sql語句,查詢的數(shù)據(jù)也不正確,對scenetype的查詢應該是括起來的,滿足其一條件即可,也就是這樣:
WHERE( phoneNumber = 156****8888 AND (scenetype IS NULL OR scenetype = "") AND delFlag = 0)
相對應的代碼應該這樣寫才對:
QueryWrapper<RyxyMemberEntity> wrapper = new QueryWrapper<>(); ? ? wrapper.eq("phoneNumber", phone); ? ? if(StringUtils.isEmpty(scenetype)) { ? ? ? ? ?wrapper.and( ? ? ? ? ? ? ? e -> e.isNull("scenetype") ? ? ? ? ? ? ? ? ? ? .or().eq("scenetype", "") ? ? ? ? ?); ? ? } ? ? wrapper.eq("delFlag", "0");
mybatisplus查詢語句加括號(.or(),.and())
java代碼:
QueryWrapper<Entity> wrapper = new QueryWrapper<>(); wrapper.ne("id", param.getId()) wrapper.and(QueryWrapper -> QueryWrapper.eq("name", name).or().eq("mark", mark));? entityMapper.selectList(wrapper);
等價sql
SELECT id FROM t_entity WHERE (id <> ? AND (name = ? OR mark = ?))
每個and相當于一個括號
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- MybatisPlus使用Wrapper實現(xiàn)條件查詢功能
- mybatis-plus自帶QueryWrapper自定義sql實現(xiàn)復雜查詢實例詳解
- Mybatis-plus動態(tài)條件查詢QueryWrapper的使用案例
- MyBatisPlus-QueryWrapper多條件查詢及修改方式
- mybatisplus如何在xml的連表查詢中使用queryWrapper
- MybatisPlus使用queryWrapper如何實現(xiàn)復雜查詢
- MyBatis-Plus實現(xiàn)2種分頁方法(QueryWrapper查詢分頁和SQL查詢分頁)
- mybatis-plus QueryWrapper自定義查詢條件的實現(xiàn)
- 詳解MyBatis-Plus Wrapper條件構造器查詢大全
- Mybatis Plus Wrapper查詢某幾列的方法實現(xiàn)
相關文章
spring boot2結合mybatis增刪改查的實現(xiàn)
這篇文章主要給大家介紹了關于spring boot2結合mybatis增刪改查的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring boot2具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-09-09淺談spring ioc的注入方式及注入不同的數(shù)據(jù)類型
這篇文章主要介紹了淺談spring ioc的注入方式及注入不同的數(shù)據(jù)類型,具有一定借鑒價值,需要的朋友可以參考下2017-12-12SpringBoot和Swagger結合提高API開發(fā)效率
這篇文章主要介紹了SpringBoot和Swagger結合提高API開發(fā)效率的相關資料,需要的朋友可以參考下2017-09-09IDEA新建bootstrap.yml文件不顯示葉子圖標的問題
這篇文章主要介紹了IDEA新建bootstrap.yml文件不顯示葉子圖標的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07