温馨提示×

mybatis怎么传入数组并遍历

小亿
121
2023-11-09 15:30:35
栏目: 编程语言

在MyBatis中,可以使用foreach标签来传入数组并遍历。你可以按照以下步骤进行操作:

  1. 在你的SQL语句中使用in关键字,并使用#{}来表示参数,例如:
SELECT * FROM my_table WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
    #{item}
</foreach>

在这个例子中,list是传入的数组参数的名称,item是在循环中使用的每个数组元素的名称,open指定in语句的开头,close指定结尾,separator指定分隔符。

  1. 在你的Mapper XML文件中,使用foreach标签来遍历数组:
<select id="getData" parameterType="java.util.List" resultType="com.example.MyTable">
    SELECT * FROM my_table WHERE id IN
    <foreach collection="list" item="item" open="(" close=")" separator=",">
        #{item}
    </foreach>
</select>

在这个例子中,getData是SQL语句的ID,parameterType指定参数类型为java.util.List,resultType指定返回结果的类型为com.example.MyTable。

  1. 在Java代码中,传入一个包含要查询的id的List对象:
List<Integer> ids = Arrays.asList(1, 2, 3, 4);
List<MyTable> data = sqlSession.selectList("getData", ids);

在这个例子中,ids是包含要查询的id的List对象,getData是SQL语句的ID,sqlSession是MyBatis的会话对象,selectList方法用于执行查询并返回结果。

通过以上步骤,你就可以在MyBatis中传入数组并遍历了。

0