在MyBatis中,可以使用<update>
標簽來實現批量更新數據。下面是一個示例:
<update id="batchUpdate" parameterType="java.util.List">
update table_name
<set>
<foreach collection="list" item="item" index="index" separator="," >
column_name = #{item.columnName}
</foreach>
</set>
where id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
List<Data> dataList = new ArrayList<>();
// 添加需要更新的數據到dataList中
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
int rows = sqlSession.update("batchUpdate", dataList);
sqlSession.commit();
} finally {
sqlSession.close();
}
在上面的示例中,batchUpdate
是Mapper XML文件中定義的批量更新數據的SQL語句的id,dataList
是需要更新的數據列表。調用sqlSession.update
方法執行SQL語句并傳入數據列表,最后通過sqlSession.commit
提交事務。