利用mybatis的动态sql 进行批量模糊查询

原生的sql语句

可以使用or加like语句进行批量的模糊查询 当与and一起使用的时候必须使用括号把or语句括起来  编码发生冲突

select *

from order_flow of,order_info oi,order_handle_result oh 
where of.RPAOrderId = oi.RPAOrderId 
and of.resultId = oh.resultId 
AND ( oi.businessCode LIKE '%B0201%' or oi.businessCode LIKE '%B0101%' or oi.businessCode LIKE '%A0111%' or oi.businessCode LIKE '%A0201%' ) 

and of.robotId IN ( '51RPA00001' , '51RPA00002' , '' ) and oi.insuranceId IN ( '1' , '2' , '21' , '22' ) 

 

mybatis代码  xml文件使用  可以使用foreach循环

 

select
count(*)
from order_flow of,order_info
oi,order_handle_result oh where
of.RPAOrderId = oi.RPAOrderId and
of.resultId = oh.resultId
<if test="businessCode != null">
   AND
   <foreach collection="businessCode" item="businessCode" open="(" close=")" separator="or">
      oi.businessCode LIKE CONCAT(CONCAT('%', #{businessCode}), '%')
   </foreach>
</if>
<if test="robotIds != null">
   and of.robotId IN
   <foreach collection="robotIds" item="abc" open="(" close=")" separator=",">
      #{abc}
   </foreach>
</if>

这样就可以完成list集合下进行群体模糊查询功能

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值