日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis高级(3)_延迟加载_深度延迟_一级缓存_二级缓存

發(fā)布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis高级(3)_延迟加载_深度延迟_一级缓存_二级缓存 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

設置延遲加載需要在mybatis.xml中設置

注:

侵入式延遲加載為真時是延遲加載

侵入式延遲加載為假時是深度延遲加載

<!-- 延遲加載和深度延遲加載 --><settings><!-- 延遲加載 --><setting name="lazyLoadingEnabled" value="true" /><!-- 侵入式延遲加載,默認值是true --><setting name="aggressiveLazyLoading" value="false" /></settings>

?

一級緩存

注:

1.框架底層使用map集合存儲緩存

2.MyBatis查詢緩存機制。根據(jù)緩存區(qū)的作用域與生命周期,可劃分為兩種:一級緩存和二級緩存.MyBatis查詢緩存的作用域是根據(jù)映射文件的namespace劃分的,相同的namespace的mapper查詢數(shù)據(jù)放在同一個緩存區(qū)域。不同namespace下的數(shù)據(jù)互不干擾。無論是一級緩存還是二級緩存,都是按照namespace進行分別存放的.一級、二級緩存的不同之處在于,SqlSession一旦關閉,則SqlSession中的數(shù)據(jù)將不存在,即一級緩存就不復存在。而二級緩存的生命周期與真?zhèn)€應用同步,與SqlSession是否關閉無關.換句話說,一級緩存是在同一線程(同一SqlSession)間共享數(shù)據(jù),而二級緩存是在不同線程(不同的SqlSession)間共享數(shù)據(jù)。

3.Mybatis一級緩存默認集成并開啟

4.MyBatis的查詢依據(jù)是:Sql的id+SQL語句

5.執(zhí)行增刪改時會清空緩存,雖然 底層都是update但是,sql標簽必須對應操作,不然起到清空緩存的作用

?

二級緩存

1,開啟二級緩存3個條件

(1)在mybatis中設置cacheEnabled=true

(2)在Mapper文件中添加<cache/>標簽

(3)實體類必須實現(xiàn)serialize接口

?

轉載于:https://www.cnblogs.com/cnsdhzzl/p/6203571.html

總結

以上是生活随笔為你收集整理的mybatis高级(3)_延迟加载_深度延迟_一级缓存_二级缓存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。