关于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 相关文章推荐
解决tk mapper 通用mapper的bug问题
Jun 16 Java/Android
springboot临时文件存储目录配置方式
Jul 01 Java/Android
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
Jul 26 Java/Android
idea 在springboot中使用lombok插件的方法
Aug 02 Java/Android
使用springMVC所需要的pom配置
Sep 15 Java/Android
Java中的随机数Random
Mar 17 Java/Android
java后台调用接口及处理跨域问题的解决
Mar 24 Java/Android
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Apr 08 Java/Android
使用Postman测试需要授权的接口问题
Jun 21 Java/Android
SpringBoot深入分析讲解监听器模式下
Jul 15 Java/Android
SpringBoot详解整合Redis缓存方法
Jul 15 Java/Android
java实现web实时消息推送的七种方案
Jul 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防攻击代码升级版
2010/12/29 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP中的self关键字详解
2019/06/23 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
JS 对象介绍
2010/01/20 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
JavaScript中的prototype.bind()方法介绍
2014/04/04 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
2016/12/23 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
python使用mailbox打印电子邮件的方法
2015/04/30 Python
python选择排序算法实例总结
2015/07/01 Python
Python之re操作方法(详解)
2017/06/14 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
Python 私有化操作实例分析
2019/11/21 Python
python函数不定长参数使用方法解析
2019/12/14 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
国税会议欢迎词
2014/01/16 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL