关于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 22 Java/Android
Java并发编程之详解CyclicBarrier线程同步
Jun 23 Java/Android
浅谈resultMap的用法及关联结果集映射
Jun 30 Java/Android
SpringBoot 拦截器妙用你真的了解吗
Jul 01 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
OpenCV实现普通阈值
Nov 17 Java/Android
java代码实现空间切割
Jan 18 Java/Android
SpringBoot+Redis实现布隆过滤器的示例代码
Mar 17 Java/Android
Java 关于String字符串原理上的问题
Apr 07 Java/Android
HttpClient实现文件上传功能
Aug 14 Java/Android
Java实现贪吃蛇游戏的示例代码
Sep 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判断字符以及字符串的包含方法属性
2008/08/30 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
Python txt文件加入字典并查询的方法
2019/01/15 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
Oracle性能调优原则
2012/05/03 面试题
Linux上比较文件的命令都有哪些
2013/09/28 面试题
建筑工程实习自我鉴定
2013/09/19 职场文书
团队激励口号
2014/06/06 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
农村党员干部承诺书
2015/05/04 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
iPhone13再次曝光
2021/04/15 数码科技