mybatis-plus自定义sql处理数组、集合为sql的in所用

这篇博客介绍了如何在MyBatis中利用注解方式和XML配置进行IN查询,特别是处理前端多选框选择的数据导出。通过将选中的ID转换为集合,结合`<foreach>`标签,实现动态SQL构建,从而高效地筛选表中的指定记录。
摘要由CSDN通过智能技术生成

业务场景:前端通过多选框选择多个数据进行导出,这时候我们可以用数组的形式接收选中的id,然后in使用。
mybatis提供的构造器可以很简单的实现,这里主要说一下关于自定义sql的处理。
注解方式和xml其实差不多,大伙看个核心就好。

@Select({"<script>" +
      " select * from 表 where id in
		<foreach collection='传入参数ids' item='表字段(我用的主键id)' open='(' separator=',' close=')'>
		#{id} --{表字段(我用的主键id)} 
		</foreach>" +
      " </script>"})
  List<AgentWebVO> selectExport(@Param(value = "ids") List<Long> ids传入参数);

这里传入的是list集合,所以我们把数组先转成集合就行了,也可以直接传集合进来啥的。

List<Long> ids = Stream.of(数组).collect(Collectors.toList());

sql里记住,用了标签一定要在外层加

<foreach collection='传入参数' item='id' open='(' separator=',' close=')'>
#{id} 
</foreach>

只需要改变id和传入参数就行,其他的保持不变即可用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值