mybatis的xml映射文件中传入list集合与数组做条件
1.传list集合参数
1.1sql映射:
<select id="queryDeptListByBankLevelAndBankName" parameterType="java.util.HashMap"
resultMap="queryDeptListByBankLevelAndBankNameResult">
select DEPTSEQ ,
DEPTNAME,DEPTID
from DEPT
WHERE 1=1
<if test="deptIdList != null and deptIdList.size > 0 ">
and DEPTID not in
<foreach collection="deptIdList" item ="deptId" index="i" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
ORDER BY DEPTID
</select>
1.2 java类
将list集合封装到Map中
ArrayList deptIdList = new ArrayList();
String [] deptIds = {"006001", "006002", "006003", "006004", "006005"};
Collections.addAll(deptIdList, deptIds);
Map map = new HashMap();
map.put("deptIdList",deptIdList);
ArrayList<Map> subList = this.sqlMap.queryForList("mcmmcif.queryDeptListByBankLevelAndBankName", map);
2.传数组参数
<select id="queryDeptListByBankLevelAndBankName" parameterType="java.util.HashMap"
resultMap="queryDeptListByBankLevelAndBankNameResult">
select DEPTSEQ ,
DEPTNAME,DEPTID
from DEPT
WHERE 1=1
<if test="deptIdList != null and deptIdList.length > 0 ">
and DEPTID in
<foreach collection="deptIdList" item ="deptId" index="i" open="(" close=")" separator=",">
#{deptId}
</foreach>
</if>
ORDER BY DEPTID
</select>
2.2 java类
将list集合封装到Map中
String [] deptIds = {"006007","006010","006011","006024","006025","006034","006035"};
Map map = new HashMap();
map.put("deptIds",deptIds);
ArrayList<Map> subList = this.sqlMap.queryForList("mcmmcif.queryDeptListByBankLevelAndBankName", map);