关于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中Collection的一些常用方法总结
Jun 13 Java/Android
分析Netty直接内存原理及应用
Jun 14 Java/Android
使用feign服务调用添加Header参数
Jun 23 Java/Android
Feign调用全局异常处理解决方案
Jun 24 Java/Android
elasticSearch-api的具体操作步骤讲解
Jun 28 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
java如何实现socket连接方法封装
Sep 25 Java/Android
SpringBoot整合阿里云视频点播的过程详解
Dec 06 Java/Android
Java 垃圾回收超详细讲解记忆集和卡表
Apr 08 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Android开发手册Chip监听及ChipGroup监听
Jun 10 Java/Android
Java实现注册登录跳转
Jun 16 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 7中不要做的10件事
2016/09/18 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
JavaScript Chart 插件整理
2010/06/18 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
js制作提示框插件
2020/12/24 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
Python3的socket使用方法详解
2020/02/18 Python
更新升级python和pip版本后不生效的问题解决
2020/04/17 Python
Python几种常见算法汇总
2020/06/02 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
智能电子应届生求职信
2013/11/10 职场文书
业务助理岗位职责
2013/11/18 职场文书
教师对学生的寄语
2014/04/03 职场文书
大学竞选班干部演讲稿
2014/08/21 职场文书
小学领导班子对照材料
2014/08/23 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
荆州古城导游词
2015/02/06 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL