关于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 18 Java/Android
SpringAop日志找不到方法的处理
Jun 21 Java/Android
mybatis 解决从列名到属性名的自动映射失败问题
Jun 30 Java/Android
java基础——多线程
Jul 03 Java/Android
Java获取e.printStackTrace()打印的信息方式
Aug 07 Java/Android
spring cloud 配置中心客户端启动遇到的问题
Sep 25 Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
Sep 25 Java/Android
JavaCV实现照片马赛克效果
Jan 22 Java/Android
Java对文件的读写操作方法
Apr 29 Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
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获取网卡地址的代码
2008/04/09 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
javascript 密码强弱度检测万能插件
2009/02/25 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
JavaScript之排序函数_动力节点Java学院整理
2017/06/30 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python 第一步 hello world
2009/09/25 Python
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
售后服务经理岗位职责范本
2014/02/22 职场文书
药剂专业求职信
2014/06/20 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
python可视化大屏库big_screen示例详解
2021/11/23 Python