在MyBatis中執行批量更新操作可以通過使用<foreach>
標簽來實現。以下是一個示例:
<update id="batchUpdate" parameterType="java.util.List">
UPDATE table_name
SET column1 = #{list[0].column1},
column2 = #{list[0].column2}
WHERE id = #{list[0].id}
</update>
List<MyObject> list = new ArrayList<>();
// 添加需要更新的對象
list.add(new MyObject(1, "value1", "value2"));
list.add(new MyObject(2, "value3", "value4"));
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
sqlSession.update("namespace.batchUpdate", list);
sqlSession.commit();
} finally {
sqlSession.close();
}
在這個示例中,MyObject
是一個包含需要更新的數據的實體類,namespace.batchUpdate
表示Mapper XML文件中定義的批量更新操作的ID。通過傳入一個包含多個對象的List參數,可以一次性執行多條更新操作。