在MyBatis中執(zhí)行批處理操作的最佳實(shí)踐如下:
public interface UserMapper {
void batchInsert(List<User> userList);
}
<insert id="batchInsert" parameterType="java.util.List">
insert into user (id, name, age) values
<foreach item="user" collection="list" separator=",">
(#{user.id}, #{user.name}, #{user.age})
</foreach>
</insert>
List<User> userList = new ArrayList<>();
// 添加需要批處理的數(shù)據(jù)到userList中
userMapper.batchInsert(userList);
SqlSession session = sqlSessionFactory.openSession();
try {
UserMapper userMapper = session.getMapper(UserMapper.class);
// 執(zhí)行批處理操作
userMapper.batchInsert(userList);
// 手動(dòng)提交事務(wù)
session.commit();
} finally {
session.close();
}
通過(guò)以上步驟,可以實(shí)現(xiàn)在MyBatis中使用executeBatch的最佳實(shí)踐,確保數(shù)據(jù)的正確保存和事務(wù)的正確提交。