Mybatis如何根据List批量查询List结果
作者:安,财
这篇文章主要介绍了Mybatis如何根据List批量查询List结果,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
根据List批量查询List结果
mapper接口
/** * 根据剧典id list查询剧典 */ public List<Drama> selectByIds(@Param("dramaIds")List<Long> dramaIds);
mapper.xml文件
<!-- 根据剧典id list查询剧典 --> <select id="selectByIds" resultMap="DramaImageResultMap"> select * from drama where drama_id in <foreach collection="dramaIds" item="dramaId" open="(" close=")" separator=","> #{dramaId} </foreach> </select>
数组参数
//接口方法 ArrayList<User> selectByIds(Integer [] ids); //xml映射文件 <select id="selectByIds" resultMap="BaseResultMap"> select * from user where id in <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> #{item} </foreach> </select>
List参数
//接口方法 ArrayList<User> selectByIds(List<Integer> ids); //xml映射文件 <select id="selectByIds" resultMap="BaseResultMap"> Select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </select>
根据多条件List查询
mapper文件
<select id="selectWhere" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from table <where> table.a = a and table.b in <foreach collection="list" item="item" index="index" open="(" separator="," close=")"> '${item}' </foreach> </where> </select>
DAO片段
List<T> selectWhere(@Param("list")List<String> list ,@Param("a") String a);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。