因为项目需要,自己写了一个根据id 批量查询的方法,做个小结,也不知道有没有问题,效率问题啥的也没有考虑,哈哈哈!

没有了解过的童鞋可以上官网看下.MyBatis-Plus​baomidou.com

Mybatis-Plus(以下简称MP): 基于MyBatis 的增强版,不做改变,是国人团队苞米豆在Mybatis的基础上开发的框架,在Mybatis基础上扩展了许多功能,荣获了2018最受欢迎国产开源软件第5名,当然也有配套的↓

Mybatis Plus Generator:同样为苞米豆开发,比Mybatis Generator更加强大,支持功能更多,自动生成Entity、Mapper、Service、Controller等;

前端传过来的值是id 的数组,MP 带的批量查询不符合业务需求,然后需要自己写,而条件构造器中 inSql () 需要的参数是(1,2,3,4,5,6) 这种形式,需要自己先构建出来

inSql(R column, String inValue)

inSql(boolean condition, R column, String inValue)

字段 IN ( sql语句 )

例: inSql("age", "1,2,3,4,5,6")--->age in (1,2,3,4,5,6)

例: inSql("id", "select id from table where id < 3")--->id in (select id from table where id < 3)

所以我是这样写的,可能是最笨的方法:

public static void main(String[] args) {

Integer[] demos = new Integer[]{1, 2, 3, 4, 5};

QueryWrapper queryWrapper = new QueryWrapper<>();

StringBuilder inValue = new StringBuilder();

for (Long demo : demos) {

inValue.append(demo).append(",");

}

inValue.deleteCharAt(inValue.length() - 1);

queryWrapper.inSql("a.id", inValue.toString());

System.out.println(inValue);//1,2,3,4,5}

更新一波上面的代码:

这几天学习了一波Java8 的新特性Stream API ,哎妈,真香!借此更新一波,菜鸟简化了一波代码...

public static void main(String[] args) {

Integer[] demos= new Integer[]{1, 2, 3, 4, 5};

QueryWrapper queryWrapper = new QueryWrapper<>();

String collect = Arrays.stream(demos)

.map(Object::toString)

.collect(Collectors.joining(","));

queryWrapper.inSql("a.id", collect);

System.out.println(collect );//1,2,3,4,5}

是不是看起来减少了好几行代码,而且看起来还贼装逼!

如有错误欢迎大家指正,小菜鸟路过.

上图是马爸爸创业时的图片,加油!年轻人,你们可能就是下一个.

mybatis 多字段in_Mybatis Plus 之 inSql 使用相关推荐

  1. mybatis解决字段和属性的映射关系3 - 通过resultMap设置自定义映射关系

    本节我们将探索mybatis解决字段和属性的映射关系3 - 通过resultMap设置自定义映射关系 目录 1.接口和pojo实体类 2.mapper映射文件 2.1 resultMap 2.2 re ...

  2. Mybatis处理字段名和属性名不一致的几种方法

    Mybatis处理字段名和属性名不一致的几种方法 1.为查询的字段设置别名,和属性名保持一致2.当字段符合MySQL的要求使用,而属性符合Java的要求使用驼峰-此时可以在mybatis核心配置文件中 ...

  3. Mybatis解决字段名与实体类属性名不相同的冲突

    在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TAB ...

  4. mybatis 动态字段与表中不一样_mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题...

    创建用户: /** * 创建一个或多个新用户 insert 字段和表名不确定时动态添加 */ @Test public void createAccount() { String lineColumn ...

  5. map mybatis 的字段返回0_Mybatis 你踩过坑吗?

    (给ImportNew加星标,提高Java技能) 作者:似水的流年 yq.aliyun.com/roundtable/49835 大多数开发者应该都使用过Hibernate或者Mybatis的框架,或 ...

  6. map mybatis 的字段返回0_mybatis返回map类型数据空值字段不显示(三种解决方法)

    mybatis的配置 mybatis-config.xml 2,springBoot配置   application.properties 添加 #mybatis resultType equal m ...

  7. mybatis多字段排序_解决mybatis中order by排序无效问题

    1.#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111&qu ...

  8. mybatis处理字段和属性的映射关系

    resultMap处理字段和属性的映射关系 方式一:字段名与属性名不一致,用别名解决 select * from emp;select eid,emp_name as empName,age,sex, ...

  9. MyBatis Plus 字段设置默认值

    一: 通过注解方式 @TableField(update = "NOW()") /*** 行修改时间* 该注解可以设置更新时间为数据库服务器当前时间* 更新操作均适用* updat ...

最新文章

  1. 自定义注解加AOP怎么玩?
  2. kali下fcrackzip使用
  3. Hibernate映射关系之一对多
  4. CSDN-markdown编辑器(保存自CSDN官方)
  5. Android中ImageView的旋转与缩放
  6. php中字符串与数组的相互转化explode(separator,$str)与implode(separator,$arr)
  7. 来一发,网页下拉刷新
  8. PreparedStatement 大数据查询
  9. atq1_使用at,atq,atrm和batchLinux调度命令示例
  10. 9月全球搜索引擎市场份额:7个版本Google上榜
  11. 网络基础该从哪开始补?这36张图,一次性理清
  12. zlib库使用简单讲解
  13. java小程序体重监测,分享个可以记录体重的小程序,坚持才能瘦
  14. python二级练习和考试复习(分别格式化输出0.002178对应的科学表示法形式)
  15. 她让我把电脑带回家。 -您是如何开始计算机和编程的?
  16. 【iOS 平台适配规范】+配色网站推荐
  17. PDF文件怎么转换为图片?
  18. php http 字符串异常,php - 查询字符串http:// 变成http % 3A % 2F % 2 - 编程异常大全
  19. 工银二维码支付,商户福利等你拿
  20. geostudio2007破解版使用碰到的问题

热门文章

  1. java判断两个数互质_AcWing 458. 比例简化-java(无需判断互质)
  2. C语言中:的其中一种作用
  3. 利用Xshell修改Linux默认SSH端口号等详细配置
  4. 踩坑sunbeam rbt 去除host reads
  5. java16进制字符串与字符串互相转换
  6. 洛谷P1478 陶陶摘苹果(升级版)视频题解
  7. Flink 计算 TopN
  8. 安装MySQL的详细步骤
  9. MVCC能保证不产生幻读吗
  10. suse linux