查询时候常常用到in,我们就要把集合当做参数传过去:
java写法
String cm_ids = StringUtil.toString(rtjson.get("cm_ids"));
List<String> cmIdList = Arrays.asList(cm_ids.split(","));
paramMap.put("cm_ids", cmIdList);
ibatis写法:
<select id="queryCustomerLocation" resultClass="java.util.HashMap" parameterClass="java.util.Map">
SELECT id,location_a,location_c from bas_cm_customer where 1=1
<isNotEmpty property="ids">
and id in
<iterate property="ids" conjunction="," close=")" open="(">
#ids[]#
</iterate>
</isNotEmpty>
<isNotEmpty property="cm_ids">
and source_code in
<iterate property="cm_ids" conjunction="," close=")" open="(">
#cm_ids[]#
</iterate>
</isNotEmpty>
<isNotEmpty property="cm_codes">
and code in
<iterate property="cm_codes" conjunction="," close=")" open="(">
#cm_codes[]#
</iterate>
</isNotEmpty>
</select>