mybatis怎么传入map作为参数
时间: 2024-12-18 15:15:40 浏览: 5
MyBatis传入集合 list 数组 map参数的写法
5星 · 资源好评率100%
在MyBatis中,如果你需要将Map作为参数传递给存储过程或SQL查询,通常的做法是通过`<foreach>`标签配合`#{}`表达式来实现。首先,你需要创建一个Map对象,然后在Mapper XML文件中设置如下的映射:
```xml
<select id="exampleProcedure" parameterType="java.util.Map" resultType="yourResultType">
<foreach item="item" index="index" collection="params" open="(" separator="," close=")">
#{item.key} = #{item.value},
</foreach>
-- 查询语句的具体内容 --
</select>
<!-- 或者,如果你直接在SQL里使用 -->
<insert id="exampleInsert" parameterType="java.util.Map">
INSERT INTO your_table (column1, column2, ...)
VALUES
<foreach item="entry" index="index" collection="params" open="(" separator="," close=")">
(#{entry.getKey}, #{entry.getValue}),
</foreach>
</insert>
```
在这里,`params`是Map对象的名称,`item.key`和`item.value`分别代表Map中的键值对。当你调用这个Mapper方法并传入Map时,MyBatis会动态地构建每个元素对的SQL表达。
阅读全文