【Mybatis】批量操作

批量操作

  1. 我們可以給openSession 方法傳入ExecutorType.BATCH 類型的參數
    ExecutorType是枚舉類型:
  • ExecutorType.SIMPLE:
    這個執行器類型不做特殊的事情(這是默認裝配
    的)。它爲每個語句的執行創建一個新的預處理語句

  • ExecutorType.REUSE
    這個執行器類型會複用預處理語句
  • ExecutorType.BATCH
    這個執行器會批量執行所有更新語句

示例:
在這裏插入圖片描述
2. 批量操作(預編譯sql一次–>設置參數10000次–>執行一次

而非批量操作(預編譯sql10000次–>設置參數10000次–>執行10000次
3. 批量操作是在session.commit()以後才發送sql語句給數據庫進行執行的
4. 如果我們想讓其提前執行,以方便後續可能的查詢操作
獲取數據,我們可以使用sqlSession.flushStatements()方 法,讓其直接沖刷到數據庫進行執行。


與Spring整合後的批量操作

在全局配置文件中配置一個能用來批量執行sql的SqlSession
在這裏插入圖片描述
需要用到批量操作的時候,我們可以注入配置的這個批量
SqlSession。通過他獲取到mapper映射器進行操作。


EmployeeService文件的內容哦

@Service
public class EmployeeService {
   
   
	
	@Autowired
	private EmployeeMapper employeeMapper;
	
	@Autowired
	private SqlSession sqlSession;
	
	public List<Employee> getEmps(){
   
   
		//
		//EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
		return employeeMapper.getEmps();
	}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章