关于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 26 Java/Android
分析JVM源码之Thread.interrupt系统级别线程打断
Jun 29 Java/Android
详细了解java监听器和过滤器
Jul 09 Java/Android
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
Java中的随机数Random
Mar 17 Java/Android
Android开发之WECHAT微信小程序路由跳转的两种形式
Apr 12 Java/Android
Spring Boot配合PageHelper优化大表查询数据分页
Apr 20 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
多线程Spring通过@Scheduled实现定时任务
May 25 Java/Android
一文搞懂Java中的注解和反射
Jun 21 Java/Android
Android实现图片九宫格
Jun 28 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 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自定义函数返回多个值
2006/11/26 PHP
一些PHP写的小东西
2006/12/06 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
JQuery for与each性能比较分析
2013/05/14 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
javascript获取元素偏移量的方法有哪些
2014/06/24 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
angularJS开发注意事项
2018/05/26 Javascript
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
简单介绍Ruby中的CGI编程
2015/04/10 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
使用 css3 transform 属性来变换背景图的方法
2019/05/07 HTML / CSS
葡萄牙航空官方网站:TAP Air Portugal
2019/10/31 全球购物
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
新三好学生主要事迹
2014/01/23 职场文书
大学生创业计划书怎么写
2014/09/15 职场文书
二审答辩状范文
2015/05/22 职场文书
建议书的格式及范文
2015/09/14 职场文书
《司马光》教学反思
2016/02/22 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python