在 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 來開啟批量操作的優化。