关于EntityWrapper的in用法


Posted in Java/Android onMarch 22, 2022

EntityWrapper的in用法

EntityWrapper<UserLife> wrapper = new EntityWrapper<>();
wrapper.eq("is_valid", 1);
wrapper.in("life_name", "ge,edu,career");
List<UserLife> userLabelList = userLabelService.selectList(wrapper);

in的第二个参数可以是字符串也可以是list但是注意字符串中","间不能有空格,不然会查出来的语句就是这样的

关于EntityWrapper的in用法

mybatis-plus EntityWrapper in

环境:

springBoot+mybatis

源码:

        /**
     * <p>
     * IN 条件语句,目前适配mysql及oracle
     * </p>
     *
     * @param column 字段名称
     * @param value  匹配值 集合
     * @return this
     */
    public Wrapper<T> in(String column, Collection<?> value) {
        return in(true, column, value);
    }
    
    /**
     * <p>
     * IN 条件语句,目前适配mysql及oracle
     * </p>
     *
     * @param condition 拼接的前置条件
     * @param column    字段名称
     * @param value     匹配值 集合
     * @return this
     */
    public Wrapper<T> in(boolean condition, String column, Collection<?> value) {
        if (condition && CollectionUtils.isNotEmpty(value)) {
            sql.WHERE(formatSql(inExpression(column, value, false), value.toArray()));
        }
        return this;
    }

如果condition不传,等同于:condition: true;

如果传入的value不为空,相当于改 in 查询语句为拼接;

举个例子

    //代码
    @Override
    public List<User> selectByCaseIdSet(Set<String> idSet) {
        EntityWrapper<User> wrapper = new EntityWrapper<>();
        wrapper.in(!CollectionUtils.isEmpty(idSet), "id", idSet);
        return this.selectList(wrapper);
    }
/**
 * 如果idSet 为空,sql: select * from user 
 * 如果idSet 不为空, sql: select * from user where id in (idSet)
 ** /

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
Win10系统下配置Java环境变量
Jun 13 Java/Android
springboot拦截器无法注入redisTemplate的解决方法
Jun 27 Java/Android
Java使用httpRequest+Jsoup爬取红蓝球号码
Jul 02 Java/Android
简述Java中throw-throws异常抛出
Aug 07 Java/Android
springboot中的pom文件 project报错问题
Jan 18 Java/Android
关于Spring配置文件加载方式变化引发的异常详解
Jan 18 Java/Android
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
Mar 21 Java/Android
Android自定义ScrollView实现阻尼回弹
Apr 01 Java/Android
Android基于Fresco实现圆角和圆形图片
Apr 01 Java/Android
Java 垃圾回收超详细讲解记忆集和卡表
Apr 08 Java/Android
Spring Boot接口定义和全局异常统一处理
Apr 20 Java/Android
Spring Boot项目如何优雅实现Excel导入与导出功能
Jun 10 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 #Java/Android
Java字符串逆序方法详情
Mar 21 #Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
剑指Offer之Java算法习题精讲二叉树专项训练
InterProcessMutex实现zookeeper分布式锁原理
springboot+zookeeper实现分布式锁
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
Mar 21 #Java/Android
You might like
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
CI框架常用函数封装实例
2016/11/21 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python中的groupby分组功能的实例代码
2018/07/11 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
利用python实现平稳时间序列的建模方式
2020/06/03 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
成品仓管员岗位职责
2013/12/11 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
法人委托书范本
2014/09/15 职场文书
婚前财产协议书范本
2014/10/19 职场文书
初婚初育证明范本
2014/11/24 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
剧场版《转生恶役只好拔除破灭旗标》公开最新视觉图 2023年上映
2022/04/02 日漫