不多bb,直接上代码
这是我的mapper层
/**
* 批量更新
* @param dbtable
* @param dbColumns
* @param dbValues
*/
public void updateApiSaveBatch(@Param(“dbtable”) String dbtable,@Param(“dbColumns”) List dbColumns,@Param(“dbValues”) LinkedList<LinkedList<Map<Object,Object>>> dbValues);
mybatis操作以及怎么拿取map
先上关键代码
<foreach collection="detailItem.entrySet()" item="detailItemval"
index="detailItemkey">
${detailItemkey}= #{detailItemval},
</foreach>
完整代码如下
<!--批量更新-->
<update id="updateApiSaveBatch">
<foreach item="item" collection="dbValues" separator=";">
UPDATE ${dbtable} <set>
<foreach collection="item" item="detailItem" index="index" separator=";">
<foreach collection="detailItem.entrySet()" item="detailItemval" index="detailItemkey">
${detailItemkey}= #{detailItemval},
</foreach>
</foreach>
</set>
where personid='222'
</foreach>
</update>
这篇博客探讨了如何使用MyBatis进行批量更新操作,通过Mapper接口和XML配置文件实现。示例代码展示了如何处理多层Map数据结构,并在SQL中遍历更新字段。重点在于理解MyBatis的动态SQL语法,特别是`<foreach>`标签的用法。
2000





