需要使用的切割list集合的工具类,链接:https://www.cnblogs.com/sxdcgaq8080/p/9376947.html
处理逻辑,原本的一个LIst,进行切割,循环进行mybatis查询即可
举个例子:
mapper.xml中方法查询如下:
<select id="dealFindByNameAndMobile" parameterType="com.pisen.cloud.luna.ms.dealer.base.mapper.bean.DealerBean" resultType="com.pisen.cloud.luna.ms.dealer.base.domain.Dealer"> SELECT dea.id id, dea.uid uid, dea.enabled_flag enabledFlag, dea.delete_flag deleteFlag, dea.tenement_id tenementId, dea.parent_id parentId, dea.name name, dea.type type, dea.bar_code barCode, dea.outer_code outerCode, dea.outer_id outerId, dea.mne_code mneCode, dea.address address, dea.address_xy addressXy, dea.business_area businessArea, dea.business_area_xy businessAreaXy FROM dealer AS dea LEFT JOIN (SELECT a.* FROM contact AS a where a.main_contact = ${@com.pisen.cloud.luna.ms.dealer.base.domain.Contact@IS_MAIN} AND a.delete_flag = ${@com.pisen.cloud.luna.ms.dealer.base.common.BaseDomain@DELETE_FLAG_NO} AND a.enabled_flag = ${@com.pisen.cloud.luna.ms.dealer.base.common.BaseDomain@ENABLED_FLAG_EN}) con ON dea.uid = con.dealer_id WHERE dea.delete_flag = ${@com.pisen.cloud.luna.ms.dealer.base.common.BaseDomain@DELETE_FLAG_NO} AND dea.enabled_flag = ${@com.pisen.cloud.luna.ms.dealer.base.common.BaseDomain@ENABLED_FLAG_EN} <if test="name != null and name != '' "> AND dea.name LIKE '%' #{name} '%' </if> AND dea.uid IN <foreach collection="uidList" open="(" close=")" separator="," item="item" index="index"> #{item} </foreach>