MyBatis的一級緩存是自動的,不需要手動刷新。一級緩存是在同一個SqlSession中有效的,當執行了一次查詢后,查詢結果會被緩存起來,下次再執行相同的查詢語句時,會直接從緩存中獲取結果,而不會再發送查詢請求。
如果你需要手動刷新一級緩存,可以調用SqlSession的clearCache()方法清空緩存。這會清除當前SqlSession中的所有緩存對象,包括一級緩存和二級緩存。
下面是一個示例代碼:
SqlSession session = sqlSessionFactory.openSession();
try {
// 執行查詢操作
List<User> userList = session.selectList("getUserList");
// 手動刷新一級緩存
session.clearCache();
// 再次執行相同的查詢操作
List<User> userList2 = session.selectList("getUserList");
} finally {
session.close();
}
在上面的代碼中,我們首先執行了一次查詢操作并將結果緩存起來。然后調用clearCache()方法手動刷新一級緩存。最后再次執行相同的查詢操作,這時會觸發新的查詢請求,而不會從緩存中獲取結果。
需要注意的是,一級緩存是在SqlSession的生命周期中有效的,當SqlSession關閉后,一級緩存也會被清空。因此,如果你想要在同一個SqlSession中多次執行相同的查詢操作,可以手動刷新一級緩存,或者使用二級緩存。