MyBatis的集合緩存策略主要有以下幾種:
SESSION緩存:默認情況下,MyBatis會將查詢結果緩存在SqlSession的緩存中,該緩存只在當前SqlSession中有效。當SqlSession關閉后,緩存數據會被清空。
LOCAL緩存:在同一個SqlSession中,如果多次查詢相同的數據,MyBatis會將第一次查詢的結果緩存在SqlSession的緩存中,后續查詢時直接從緩存中獲取數據,提高查詢效率。
STATEMENT緩存:在同一個SqlSession中,如果多次執行相同的SQL語句,MyBatis會將第一次執行的結果緩存在Statement級別的緩存中,后續執行時直接從緩存中獲取結果。Statement級別的緩存是跨SqlSession的,即不同SqlSession可以共享同一個Statement級別的緩存。
SECOND級緩存:SECOND級緩存是MyBatis中最常用的緩存策略,它可以跨SqlSession和跨Statement級別共享緩存數據。開啟SECOND級緩存需要在Mapper配置文件中配置