关于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 11 Java/Android
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
Jul 01 Java/Android
Java使用Unsafe类的示例详解
Sep 25 Java/Android
Java 实战项目之家居购物商城系统详解流程
Nov 11 Java/Android
Java异常处理try catch的基本用法
Dec 06 Java/Android
使用HttpSessionListener监听器实战
Mar 17 Java/Android
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Apr 08 Java/Android
Java时间工具类Date的常用处理方法
May 25 Java/Android
Spring JPA 增加字段执行异常问题及解决
Jun 10 Java/Android
Android基础入门之dataBinding的简单使用教程
Jun 21 Java/Android
利用Java连接Hadoop进行编程
Jun 28 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 debug 安装技巧
2011/04/30 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
PHP递归创建多级目录
2015/11/05 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
js获取多个tagname的节点数组
2013/09/22 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
python从入门到精通(DAY 2)
2015/12/20 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
什么是数组名
2012/05/10 面试题
中秋节国旗下演讲稿
2014/09/05 职场文书
电子商务实训报告总结
2014/11/05 职场文书
实习单位证明范例
2014/11/17 职场文书
春秋淹城导游词
2015/02/11 职场文书
职工培训工作总结
2015/08/10 职场文书
高中化学教学反思
2016/02/22 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
python实现简单石头剪刀布游戏
2021/10/24 Python