MyBatis-学习笔记11【11.Mybatis的缓存】
- Java后端 學習路線 筆記匯總表【黑馬程序員】
目錄
1 今日課程安排
2 延遲加載和立即加載的概念
3 mybatis一對一實現延遲加載
4 mybatis一對多實現延遲加載
5 緩存的概念
6 Mybatis中的一級緩存
7 觸發清空一級緩存的情況
8 mybatis的二級緩存
1 今日課程安排
1、Mybatis中的延遲加載
?? ?什么是延遲加載?
?? ?什么是立即加載?
2、Mybatis中的緩存
?? ?什么是緩存?
?? ?為什么使用緩存?
?? ?什么樣的數據能使用緩存,什么樣的數據不能使用?
?? ?Mybatis中的一級緩存和二級緩存
3、Mybatis中的注解開發
?? ?環境搭建
?? ?單表CRUD操作(代理Dao方式)
?? ?多表查詢操作
?? ?緩存的配置
2 延遲加載和立即加載的概念
1、Mybatis中的延遲加載
?? ?問題:在一對多中,當我們有一個用戶,它有100個賬戶。
?? ? ? ? ?在查詢用戶的時候,要不要把關聯的賬戶查出來?
?? ? ? ? ?在查詢賬戶的時候,要不要把關聯的用戶查出來?
?? ? ? ? ?在查詢用戶時,用戶下的賬戶信息應該是,什么時候使用,什么時候查詢的。
?? ? ? ? ?在查詢賬戶時,賬戶的所屬用戶信息應該是隨著賬戶查詢時一起查詢出來。
?? ?什么是延遲加載?
?? ??? ?在真正使用數據時才發起查詢,不用的時候不查詢。按需加載(懶加載)
?? ?什么是立即加載?
?? ??? ?不管用不用,只要一調用方法,馬上發起查詢。
?? ?在對應的四種表關系中:一對多、多對一、一對一、多對多
?? ??? ?一對多、多對多:通常情況下我們都是采用延遲加載。
?? ??? ?多對一、一對一:通常情況下我們都是采用立即加載。
2、Mybatis中的緩存
?? ?什么是緩存?
?? ?為什么使用緩存?
?? ?什么樣的數據能使用緩存,什么樣的數據不能使用?
?? ?Mybatis中的一級緩存和二級緩存
3、Mybatis中的注解開發
?? ?環境搭建
?? ?單表CRUD操作(代理Dao方式)
?? ?多表查詢操作
?? ?緩存的配置
3 mybatis一對一實現延遲加載
延遲加載4 mybatis一對多實現延遲加載
5 緩存的概念
1、Mybatis中的延遲加載
?? ?問題:在一對多中,當我們有一個用戶,它有100個賬戶。
?? ? ? ? ?在查詢用戶的時候,要不要把關聯的賬戶查出來?
?? ? ? ? ?在查詢賬戶的時候,要不要把關聯的用戶查出來?
?? ? ? ? ?在查詢用戶時,用戶下的賬戶信息應該是,什么時候使用,什么時候查詢的。
?? ? ? ? ?在查詢賬戶時,賬戶的所屬用戶信息應該是隨著賬戶查詢時一起查詢出來。
?? ?什么是延遲加載?
?? ??? ?在真正使用數據時才發起查詢,不用的時候不查詢。按需加載(懶加載)
?? ?什么是立即加載?
?? ??? ?不管用不用,只要一調用方法,馬上發起查詢。
?? ?在對應的四種表關系中:一對多、多對一、一對一、多對多
?? ??? ?一對多、多對多:通常情況下我們都是采用延遲加載。
?? ??? ?多對一、一對一:通常情況下我們都是采用立即加載。
2、Mybatis中的緩存
?? ?什么是緩存:
?? ??? ?存在于內存中的臨時數據。
?? ?為什么使用緩存:
?? ??? ?減少和數據庫的交互次數,提高執行效率。
?? ?什么樣的數據能使用緩存,什么樣的數據不能使用:
?? ??? ?適用于緩存:
?? ??? ??? ?經常查詢并且不經常改變的。
?? ??? ??? ?數據的正確與否對最終結果影響不大的。
?? ??? ?不適用于緩存:
?? ??? ??? ?經常改變的數據;
?? ??? ??? ?數據的正確與否對最終結果影響很大的。
?? ??? ??? ?例如:商品的庫存,銀行的匯率,股市的牌價。
?? ?Mybatis中的一級緩存和二級緩存
3、Mybatis中的注解開發
6 Mybatis中的一級緩存
?
7 觸發清空一級緩存的情況
?
8 mybatis的二級緩存
二級緩存 1、Mybatis中的延遲加載問題:在一對多中,當我們有一個用戶,它有100個賬戶。在查詢用戶的時候,要不要把關聯的賬戶查出來?在查詢賬戶的時候,要不要把關聯的用戶查出來?在查詢用戶時,用戶下的賬戶信息應該是,什么時候使用,什么時候查詢的。在查詢賬戶時,賬戶的所屬用戶信息應該是隨著賬戶查詢時一起查詢出來。什么是延遲加載?在真正使用數據時才發起查詢,不用的時候不查詢。按需加載(懶加載)什么是立即加載?不管用不用,只要一調用方法,馬上發起查詢。在對應的四種表關系中:一對多、多對一、一對一、多對多一對多、多對多:通常情況下我們都是采用延遲加載。多對一、一對一:通常情況下我們都是采用立即加載。 2、Mybatis中的緩存什么是緩存:存在于內存中的臨時數據。為什么使用緩存:減少和數據庫的交互次數,提高執行效率。什么樣的數據能使用緩存,什么樣的數據不能使用:適用于緩存:經常查詢并且不經常改變的。數據的正確與否對最終結果影響不大的。不適用于緩存:經常改變的數據;數據的正確與否對最終結果影響很大的。例如:商品的庫存,銀行的匯率,股市的牌價。Mybatis中的一級緩存和二級緩存一級緩存:它指的是Mybatis中SqlSession對象的緩存。當我們執行查詢之后,查詢的結果會同時存入到SqlSession為我們提供一塊區域中。該區域的結構是一個Map。當我們再次查詢同樣的數據,mybatis會先去sqlsession中查詢是否有,有的話直接拿出來用。當SqlSession對象消失時,mybatis的一級緩存也就消失了。二級緩存:它指的是Mybatis中SqlSessionFactory對象的緩存。由同一個SqlSessionFactory對象創建的SqlSession共享其緩存。二級緩存的使用步驟:第一步:讓Mybatis框架支持二級緩存(在SqlMapConfig.xml中配置)第二步:讓當前的映射文件支持二級緩存(在IUserDao.xml中配置)第三步:讓當前的操作支持二級緩存(在select標簽中配置) 3、Mybatis中的注解開發環境搭建單表CRUD操作(代理Dao方式)多表查詢操作緩存的配置?
總結
以上是生活随笔為你收集整理的MyBatis-学习笔记11【11.Mybatis的缓存】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis-学习笔记10【10.JN
- 下一篇: MyBatis-学习笔记12【12.My