1. 程式人生 > >mybatis傳遞Map和List集合示例

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>