关于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中的OPTIONAL
Jun 14 Java/Android
Spring整合Mybatis的全过程
Jun 28 Java/Android
SpringBoot工程下使用OpenFeign的坑及解决
Jul 02 Java/Android
JavaWeb Servlet实现网页登录功能
Jul 04 Java/Android
Spring Cloud Gateway去掉url前缀
Jul 15 Java/Android
浅谈spring boot使用thymeleaf版本的问题
Aug 04 Java/Android
Spring-cloud Config Server的3种配置方式
Sep 25 Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 Java/Android
Java练习之潜艇小游戏的实现
Mar 16 Java/Android
Java 超详细讲解hashCode方法
Apr 07 Java/Android
零基础学java之带返回值的方法的定义和调用
Apr 10 Java/Android
JAVA长虹键法之建造者Builder模式实现
Apr 10 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 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
拖拉表格的JS函数
2008/11/20 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python之修改图片像素值的方法
2019/07/03 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
英国第一的滑雪服装和装备零售商:Snow+Rock
2020/02/01 全球购物
管理站站长岗位职责
2013/11/27 职场文书
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
班主任工作经验材料
2014/02/02 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
住宅质量保证书
2014/04/29 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python