在 MyBatis 中执行批量操作可以使用 BatchExecutor 接口来实现。这里简要介绍一下如何执行批量操作:
创建一个包含多个操作的 List:首先需要创建一个包含多个操作的 List,每个操作可以是插入、更新或删除等。
使用 sqlSession 执行批量操作:获取一个 sqlSession 对象,然后使用 sqlSession 的 insert、update、delete 方法执行批量操作。示例如下:
List<User> userList = new ArrayList<>();
User user1 = new User("user1", 20);
User user2 = new User("user2", 25);
userList.add(user1);
userList.add(user2);
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
for (User user : userList) {
sqlSession.insert("insertUser", user);
}
sqlSession.commit();
} finally {
sqlSession.close();
}
在上面的示例中,我们创建了一个包含两个 User 对象的 List,并使用 sqlSession 的 insert 方法执行批量插入操作。
List<User> userList = new ArrayList<>();
User user1 = new User("user1", 20);
User user2 = new User("user2", 25);
userList.add(user1);
userList.add(user2);
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
try {
for (User user : userList) {
sqlSession.insert("insertUser", user);
}
sqlSession.commit();
} finally {
sqlSession.close();
}
在上面的示例中,我们通过设置 ExecutorType.BATCH 来开启批量操作优化。这样可以减少与数据库的交互次数,提高批量操作的性能。
总的来说,执行批量操作可以通过创建包含多个操作的 List,然后使用 sqlSession 执行批量操作。同时可以通过设置 ExecutorType.BATCH 来开启批量操作的优化。