原生的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集合下进行群体模糊查询功能