mybatis一級緩存二級緩存

mybatis一級緩存二級緩存

  • mybatis緩存概述
  • mybatis一級緩存
  • mybatis二級緩存

mybatis緩存概述

CacheKey: hashcode(哈希值),checksum,namespace+id(namespace爲mapper文件的命名空間,id爲sql的id),.sql(查詢sql), parameter(查詢sql的參數);
以上字段,用於從緩存中查詢值的key;,相當於HashMap的key值。

mybatis一級緩存

一級緩存默認是開啓的,是session級別的,同一個sqlSession下,數據是共享的; 一級緩存localCacheScope級別分兩種,一種是session,另一種是statement; 如果想關閉一級緩存,可以把localCacheScope設置爲STATEMENT即可;

mybatis二級緩存

二級緩存是SqlSessionFactory級別的,具體操作過程是在mapper文件中,加上 ;從二級緩存的配置可以看出二級緩存是sqlSessionFactory級別的,因爲Mapper文件在mybatis初始化的時候會加載到configuration中,而configuration是生成sqlSessionFactory工廠類的基礎。

注意點:
a. session必須commit,緩存才能生效;commit的時候,纔會把緩存放到tcm裏面;
b. POJO對象必須要序列化,實現Serializable接口;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章