关于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 相关文章推荐
idea搭建可运行Servlet的Web项目
Jun 26 Java/Android
Springboot配置suffix指定mvc视图的后缀方法
Jul 03 Java/Android
mybatis 获取无数据的字段不显示的问题
Jul 15 Java/Android
JavaWeb 入门篇(3)ServletContext 详解 具体应用
Jul 16 Java/Android
JVM钩子函数的使用场景详解
Aug 23 Java/Android
Java8中接口的新特性使用指南
Nov 01 Java/Android
JVM的类加载器和双亲委派模式你了解吗
Mar 13 Java/Android
Java 数据结构七大排序使用分析
Apr 02 Java/Android
Java由浅入深通关抽象类与接口(下篇)
Apr 26 Java/Android
Android开发之底部导航栏的快速实现
Apr 28 Java/Android
Qt数据库应用之实现图片转pdf
Jun 01 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 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加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
解析php5配置使用pdo
2013/07/03 PHP
php中使用websocket详解
2016/09/23 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
Jquery 扩展方法
2010/05/06 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
一个JS函数搞定网页标题(title)闪动效果
2014/05/13 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
python入门:这篇文章带你直接学会python
2018/09/14 Python
深入了解Django中间件及其方法
2019/07/26 Python
Django视图扩展类知识点详解
2019/10/25 Python
python 实现矩阵按对角线打印
2019/11/29 Python
基于python实现操作git过程代码解析
2020/07/27 Python
环保倡议书怎么写
2014/05/16 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
民间借贷借条范本
2015/05/25 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
初中体育教学随笔
2015/08/15 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
Python实现双向链表基本操作
2022/05/25 Python