十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家分享的是有關(guān)mybatis讀取mapper文件有哪幾種方式的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、盤龍網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、盤龍網(wǎng)絡(luò)營銷、盤龍企業(yè)策劃、盤龍品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供盤龍建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
mybatis讀取mapper文件有哪幾種方式?優(yōu)先級如何?
優(yōu)先級: package>resource>url>class
mubatis的exectuor有幾種方式
SimpleExecutor: 簡單執(zhí)行器,是MyBatis中默認(rèn)使用的執(zhí)行器,每執(zhí)行一次update或select,就開啟一個Statement對象,用完就直接關(guān)閉Statement對象(可以是Statement或者是PreparedStatment對象)
ReuseExecutor: 可重用執(zhí)行器,這里的重用指的是重復(fù)使用Statement,它會在內(nèi)部使用一個Map把創(chuàng)建的Statement都緩存起來,每次執(zhí)行SQL命令的時候,都會去判斷是否存在基于該SQL的Statement對象,如果存在Statement對象并且對應(yīng)的connection還沒有關(guān)閉的情況下就繼續(xù)使用之前的Statement對象,并將其緩存起來。因為每一個SqlSession都有一個新的Executor對象,所以我們緩存在ReuseExecutor上的Statement作用域是同一個SqlSession。
BatchExecutor: 批處理執(zhí)行器,用于將多個SQL一次性輸出到數(shù)據(jù)庫
CachingExecutor
: 緩存執(zhí)行器,先從緩存中查詢結(jié)果,如果存在,就返回;如果不存在,再委托給Executor delegate 去數(shù)據(jù)庫中取,delegate可以是上面任何一個執(zhí)行器
mybatis的一級緩存是默認(rèn)開啟的嗎?開啟的話是怎么使用的?
因為cacheEnabled 所以一級緩存是默認(rèn)開啟的 。通過id offset limit sql 四個屬性來生成緩存的key
一級緩存通過 HashMap 實現(xiàn),它的鍵對象根據(jù)SQL的ID,參數(shù),SQL本身,分頁參數(shù)以及JDBC的參數(shù)信息構(gòu)成。
二級緩存是mapper級別的緩存,多個SqlSession去操作同一個Mapper的sql語句,多個SqlSession去操作數(shù)據(jù)庫得到數(shù)據(jù)會存在二級緩存區(qū)域,多個SqlSession可以共用二級緩存,二級緩存是跨SqlSession的。
二級緩存是多個SqlSession共享的,其作用域是mapper的同一個namespace,第一次執(zhí)行完畢會將數(shù)據(jù)庫中查詢的數(shù)據(jù)寫到緩存(內(nèi)存),第二次會從緩存中獲取數(shù)據(jù)將不再從數(shù)據(jù)庫查詢,從而提高查詢效率。
Mybatis默認(rèn)沒有開啟二級緩存需要在setting全局參數(shù)中配置開啟二級緩存。
如果緩存中有數(shù)據(jù)就不用從數(shù)據(jù)庫中獲取,大大提高系統(tǒng)性能。
不建議使用二級緩存 不同的namespace操作同一個表的話 會出現(xiàn)數(shù)據(jù)混亂
阿里面試題:A系統(tǒng)傳B系統(tǒng)一條sql如何判斷sql是正確是sql ???
什么是orm框架? 用于實現(xiàn)面向?qū)ο缶幊陶Z言里不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換
感謝各位的閱讀!關(guān)于“mybatis讀取mapper文件有哪幾種方式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!