关于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 相关文章推荐
Feign调用传输文件异常的解决
Jun 24 Java/Android
浅谈Python魔法方法
Jun 28 Java/Android
Java实现聊天机器人完善版
Jul 04 Java/Android
gateway与spring-boot-starter-web冲突问题的解决
Jul 16 Java/Android
SpringDataJPA在Entity中常用的注解介绍
Dec 06 Java/Android
Java实战之课程信息管理系统的实现
Apr 01 Java/Android
Java GUI编程菜单组件实例详解
Apr 07 Java/Android
零基础学java之方法的定义与调用详解
Apr 10 Java/Android
Java存储没有重复元素的数组
Apr 29 Java/Android
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
Jun 01 Java/Android
Java+swing实现抖音上的表白程序详解
Jun 25 Java/Android
java实现web实时消息推送的七种方案
Jul 23 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 curl post 时出现的问题解决
2014/01/30 PHP
php实现文件预览功能
2017/05/23 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
JavaScript中获取元素索引的函数
2010/09/10 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
Vue指令指令大全
2019/02/09 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
python提示No module named images的解决方法
2014/09/29 Python
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
python二进制文件的转译详解
2019/07/03 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
二年级体育教学反思
2014/01/15 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
环保宣传标语
2014/06/12 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书