关于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 Swing实现自助取款机系统
Jun 11 Java/Android
springboot中一些比较常用的注解总结
Jun 11 Java/Android
Java Dubbo框架知识点梳理
Jun 26 Java/Android
Java 数组内置函数toArray详解
Jun 28 Java/Android
解决ObjectMapper.convertValue() 遇到的一些问题
Jun 30 Java/Android
实体类或对象序列化时,忽略为空属性的操作
Jun 30 Java/Android
Spring Security中用JWT退出登录时遇到的坑
Oct 16 Java/Android
maven依赖的version声明控制方式
Jan 18 Java/Android
SpringBoot中使用Redis作为全局锁示例过程
Mar 24 Java/Android
Java虚拟机内存结构及编码实战分享
Apr 07 Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 Java/Android
Java Spring读取和存储详细操作
Aug 05 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
几种显示数据的方法的比较
2006/10/09 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
PHP基础学习小结
2011/04/17 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
python实现bucket排序算法实例分析
2015/05/04 Python
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
python 穷举指定长度的密码例子
2020/04/02 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
护理自荐信
2013/10/22 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
天鹅湖观后感
2015/06/09 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android