java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > 根据List批量查询List结果

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);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文