关于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内存模型之happens-before概念详解
Jun 13 Java/Android
Java用自带的Image IO给图片添加水印
Jun 15 Java/Android
Java基于字符界面的简易收银台
Jun 26 Java/Android
Spring Boot 实现敏感词及特殊字符过滤处理
Jun 29 Java/Android
Spring中bean的生命周期之getSingleton方法
Jun 30 Java/Android
idea 在springboot中使用lombok插件的方法
Aug 02 Java/Android
Java字符串逆序方法详情
Mar 21 Java/Android
Java详细解析==和equals的区别
Apr 07 Java/Android
Java后端 Dubbo retries 超时重试机制的解决方案
Apr 14 Java/Android
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
Jun 21 Java/Android
springboot读取resources下文件的方式详解
Jun 21 Java/Android
Java Redisson多策略注解限流
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按单词截取字符串的方法
2015/04/07 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Javascript之文件操作
2007/03/07 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
JavaScript 10件让人费解的事情
2010/02/15 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
DOM中事件处理概览与原理的全面解析
2016/08/16 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
python里 super类的工作原理详解
2019/06/19 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
浅析Python 序列化与反序列化
2020/08/05 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
自我评价怎么写正确呢?
2013/12/02 职场文书
捐款倡议书范文
2014/02/02 职场文书
人力资源主管职责范本
2014/03/05 职场文书
带病坚持工作事迹
2014/05/03 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS
PHP实现rar解压读取扩展包小结
2021/06/03 PHP
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
在python中读取和写入CSV文件详情
2022/06/28 Python