Mybatis4

延遲加載sql

緩存數據庫

註解開發 緩存

一、Mybatis中的延遲加載
	問題:在一對多中,當咱們有一個用戶,它有100個帳戶。
	      在查詢用戶的時候,要不要把關聯的帳戶查出來?
	      在查詢帳戶的時候,要不要把關聯的用戶查出來?
		
	      在查詢用戶時,用戶下的帳戶信息應該是,何時使用,何時查詢的。
	      在查詢帳戶時,帳戶的所屬用戶信息應該是隨着帳戶查詢時一塊兒查詢出來。

	什麼是延遲加載
		在真正使用數據時才發起查詢,不用的時候不查詢。按需加載(懶加載)
	什麼是當即加載
		無論用不用,只要一調用方法,立刻發起查詢。
	
	在對應的四種表關係中:一對多,多對一,一對一,多對多
		一對多,多對多:一般狀況下咱們都是採用延遲加載。
		多對一,一對一:一般狀況下咱們都是採用當即加載。

二、Mybatis中的緩存
	什麼是緩存
		存在於內存中的臨時數據。
	爲何使用緩存
		減小和數據庫的交互次數,提升執行效率。
	什麼樣的數據能使用緩存,什麼樣的數據不能使用
		適用於緩存:
			常常查詢而且不常常改變的。
			數據的正確與否對最終結果影響不大的。
		不適用於緩存:
			常常改變的數據
			數據的正確與否對最終結果影響很大的。
			例如:商品的庫存,銀行的匯率,股市的牌價。
	Mybatis中的一級緩存和二級緩存
		一級緩存:
			它指的是Mybatis中SqlSession對象的緩存。
			當咱們執行查詢以後,查詢的結果會同時存入到SqlSession爲咱們提供一塊區域中。
			該區域的結構是一個Map。當咱們再次查詢一樣的數據,mybatis會先去sqlsession中
			查詢是否有,有的話直接拿出來用。
			當SqlSession對象消失時,mybatis的一級緩存也就消失了。
		
		二級緩存:
			它指的是Mybatis中SqlSessionFactory對象的緩存。由同一個SqlSessionFactory對象建立的SqlSession共享其緩存。
			二級緩存的使用步驟:
				第一步:讓Mybatis框架支持二級緩存(在SqlMapConfig.xml中配置)
				第二步:讓當前的映射文件支持二級緩存(在IUserDao.xml中配置)
				第三步:讓當前的操做支持二級緩存(在select標籤中配置)
三、Mybatis中的註解開發
	環境搭建
	單表CRUD操做(代理Dao方式)
	多表查詢操做
	緩存的配置

相關文章
相關標籤/搜索