mybatis傳遞Map和List集合示例
轉自:http://www.cnblogs.com/shijiaoyun/p/5734189.html
1、List示例
java檔案:
dao:
public List<ServicePort> selectByIps(List<String> ips);
xml檔案:
<!-- 高階查詢 -->
<select id="selectByIps" resultType="ServicePort">
Select *
from port_service_info where ip in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
#{item}
</foreach>
</select>
2、Map示例
java檔案:
service:
public List<TamperAndHijack> selectByDomains(List<String> domains, String dayKey) {
Map<String, Object> map = new HashMap<String, Object>();
//不存在就查詢所有
if(domains.isEmpty()){
domains = null;
}
map.put("domains", domains);
//預設為當天
if(dayKey == null || "".equals(dayKey)){
dayKey = CommonUtil.getCurrentDateStr();
}
map.put("dayKey", dayKey);
return tamperAndHijackMapper.selectByDomains(map);
}
dao:
/** 通過domains查詢指紋資訊 */
public List<TamperAndHijack> selectByDomains(@Param("map")Map<String, Object> map);
xml檔案:
<!-- 高階查詢 -->
<select id="selectByDomains" parameterType="map" resultType="TamperAndHijack">
Select *
from tamper_hijack
where 1 = 1
<if test="map.dayKey !=null and map.dayKey !=''">
and dayKey = #{map.dayKey}
</if>
<if test="map.domains !=null">
and domain in
<foreach item="item" index="index" collection="map.domains"
open="(" separator="," close=")">
#{item}
</foreach>
</if>
order by id desc
</select>