关于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 相关文章推荐
分析设计模式之模板方法Java实现
Jun 23 Java/Android
Spring Boot两种全局配置和两种注解的操作方法
Jun 29 Java/Android
JavaWeb Servlet实现网页登录功能
Jul 04 Java/Android
Lombok的详细使用及优缺点总结
Jul 15 Java/Android
JVM钩子函数的使用场景详解
Aug 23 Java/Android
SpringCloud之@FeignClient()注解的使用方式
Sep 25 Java/Android
Spring中的使用@Async异步调用方法
Nov 01 Java/Android
Java使用JMeter进行高并发测试
Nov 23 Java/Android
Java 超详细讲解IO操作字节流与字符流
Mar 25 Java/Android
Android超详细讲解组件ScrollView的使用
Mar 31 Java/Android
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
Apr 24 Java/Android
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
Jun 21 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会员权限控制实现原理分析
2011/05/29 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
HTML颜色选择器实现代码
2010/11/23 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
关于python pyqt5安装失败问题的解决方法
2017/08/08 Python
python查询mysql,返回json的实例
2018/03/26 Python
python学习入门细节知识点
2018/03/29 Python
Django 重写用户模型的实现
2019/07/29 Python
Python远程方法调用实现过程解析
2020/07/28 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
优纳科技软件测试面试题
2012/05/15 面试题
函授毕业自我鉴定
2013/12/19 职场文书
农业资源与环境专业自荐信范文
2013/12/30 职场文书
大学军训感言200字
2014/02/26 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
2014年班主任工作总结
2014/11/08 职场文书
2014年维修工作总结
2014/11/22 职场文书
投标承诺函格式
2015/01/21 职场文书
失恋33天观后感
2015/06/11 职场文书
找规律教学反思
2016/02/23 职场文书