温馨提示×

Mybatis传集合的方法是什么

小亿
134
2024-02-23 11:03:33
栏目: 编程语言

在Mybatis中传递集合的方法主要有两种方式:使用List或者使用Map。

  1. 使用List传递集合:在Mapper接口中定义方法时,可以直接传入List作为参数,Mybatis会自动将List中的元素作为参数传递给SQL语句。例如:
public List<User> selectUserByIds(List<Integer> ids);

在XML配置文件中,可以使用foreach标签来遍历List参数,如下所示:

<select id="selectUserByIds" resultType="User">
    SELECT * FROM user WHERE id IN
    <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
        #{item}
    </foreach>
</select>
  1. 使用Map传递集合:可以将集合封装成Map形式传递给SQL语句。在Mapper接口中定义方法时,可以传入Map作为参数,其中Map的key可以自定义,值为集合类型。例如:
public List<User> selectUserByIds(Map<String, Object> map);

在XML配置文件中,可以通过Map的key来获取集合参数,如下所示:

<select id="selectUserByIds" resultType="User">
    SELECT * FROM user WHERE id IN
    <foreach item="id" collection="ids" open="(" separator="," close=")">
        #{id}
    </foreach>
</select>

这两种方式都可以有效地传递集合参数给SQL语句,在实际开发中根据需求选择合适的方式。

0