緩存
MyBatis 包含一個非常強大的查詢緩存特性,它可以非常方便地配置和定制。MyBatis 3 中的緩存實現的很多改進都已經實現了,使得它更加強大而且易于配置。
Mybatis和Hibernate一樣,也有一級和二級緩存,同樣默認開啟的只有一級緩存,二級緩存也需要手動配置開啟
驗證一級緩存的存在
一級緩存又被稱為session級別的緩存,mybatis一直默認是開啟的,每個與數據庫的鏈接回話都有各自自己的緩存,這些一級緩存之間是不能通信的,是相互獨立的緩存空間!
加深對一級緩存的理解
第一個實驗,查詢同一個id的用戶,但是用不同的sqlsession:
第二個實驗,用同一個session,但是查詢的id不一樣:
?第三個實驗,還是同一個session,查詢相同id的user,但查詢中間,手動把session里的緩存干掉:
第四個實驗,還是同一個session,查詢相同id的user,查詢中間,做了增改刪:
?