传入的参数为List
Mapper文件是:
public List<User> selectByIds(List<Integer> ids);
xml文件代码片段:
<select id="selectByIds" resultType="com.zyf.entity.User">
select * from t_xxx where id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
传入的参数为Array
Mapper文件:
public List<User> selectByIds(int[] ids);
xml文件代码片段:
<select id="selectByIds" resultType="com.zyf.entity.User">
select * from t_xxxx where id in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
传入的参数为map
service层
List<Dict> item1 = DictUtils.getDictList((String) params.get("item"));
List typeList = new ArrayList();
for (Dict e : item1) {
typeList.add(e.getLabel());
}
params.put("typeList", typeList);
params.put("grade", grade);
params.put("type", ((String) params.get("item")).substring(((String) params.get("item")).length()-5));
return this.dao.getAccidentReportFormByOccurTimeAndType(params);
dao层
List<Map> getAccidentReportFormByOccurTimeAndType(Map<String, Object> params);
xml
<select id="getAccidentReportFormByOccurTimeAndType" parameterType="java.util.Map" resultType="java.util.Map">
select office.name as '所属机构',office.id,office.parent_id,
<foreach collection="typeList" item="var" open="" close="" separator=",">
sum(case when #{var} = a.${type} then 1 else 0 end) as #{var}
</foreach>
from pxpt_accident a join sys_office office on office.id=a.kindergarten_id
<where>
......