午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

mybatis的Configuration詳解

瀏覽:141日期:2023-10-21 17:45:34

上一篇介紹了mybatis中SqlSessionFactory的創(chuàng)建過程,今天來學(xué)習(xí)它默認(rèn)實現(xiàn)中的唯一屬性Configuration ​

回顧

還是最開始的mybatis源碼環(huán)境中的測試代碼如下圖:

mybatis的Configuration詳解

利用mybatis查出數(shù)據(jù)只用三步:創(chuàng)建SqlSessionFactory、通過SqlSessionFactory創(chuàng)建SqlSession、SqlSession執(zhí)行selectOne方法。

上一篇文章梳理了SqlSessionFactory創(chuàng)建過程的源碼,發(fā)現(xiàn)它返回的是它的默認(rèn)實現(xiàn)類DefaultSqlSessionFactory,而默認(rèn)實現(xiàn)類有有唯一的一個屬性configuration,所以SqlSessionFactory根本的依賴還是Configuration類。

Configuration基礎(chǔ)信息說明

Configuration類中有很多的屬性,下面是基礎(chǔ)屬性的源碼以及部分說明如下圖:

mybatis的Configuration詳解

上面主要是一些settings屬性,settings屬性是MyBatis 的基礎(chǔ)性設(shè)置,它們會改變 MyBatis 的運(yùn)行時行為。更加完整的說明在官方文檔上:https://mybatis.org/mybatis-3/zh/configuration.html。去掉zh可以查看英文版本。

這里面有一個熟悉protected Properties variables = new Properties();這個屬性對應(yīng)是我們在mybatis配置文件中有時會配置的properties節(jié)點的內(nèi)容,有時候我們會配置url、driver、username、password等信息。然后在其他節(jié)點使用${}來使用。

擴(kuò)展屬性和無參構(gòu)造

上面介紹了決定mybatis一些基礎(chǔ)行為的屬性,在Configuration還存有一些mybatis可用來擴(kuò)展的和運(yùn)行中需要信息,下圖中是這些屬性已經(jīng)Configuration的無參構(gòu)造函數(shù):

mybatis的Configuration詳解

上一節(jié)是mybatis中的環(huán)境配置信息,而上圖是一些mybatis運(yùn)行中要用到的信息,比如:resultMap集合、sql語句集合、插件列表、緩存、類型別名、類型處理器等。

其中很多屬性使用的是Configuration中的了一個內(nèi)部靜態(tài)類StrictMap,它繼承自HashMap,對HashMap的裝飾在于增加了put時防重復(fù)的處理,get時取不到值時候的異常處理,這樣在使用時就不需要關(guān)心各種異常,簡化應(yīng)用層邏輯。

Configuration的無參構(gòu)造函數(shù)主要往typeAliasRegistry中put了一些數(shù)據(jù),typeAliasRegistry是類型注冊器,通過這段代碼知道為什么可以在配置文件中配置“”這類信息了,因為通過type的值能夠找到對應(yīng)的類。

再看parse方法

在上一篇文章SqlSessionFactory創(chuàng)建過程中講到了Configuration是通過無參構(gòu)造函數(shù)創(chuàng)建了一個Configuration對象,然后在最后調(diào)用了parse方法。無參構(gòu)造函數(shù)上一節(jié)已經(jīng)進(jìn)行了說明,最后再來看上一篇文章最后的parse方法調(diào)用的parseConfiguration方法如下圖:

mybatis的Configuration詳解

這次在看parseConfiguration方法中的內(nèi)容就更加清楚在干嘛了。

總結(jié)

今天只梳理了Configuration中包含的屬性以及默認(rèn)構(gòu)造函數(shù),分析完成后最終還是指向了上一篇文章的parseConfiguration方法,那么從下一篇文章開始就來仔細(xì)分析一下parseConfiguration對Configuration具體做了哪些設(shè)置以及流程。

到此這篇關(guān)于mybatis的Configuration詳解的文章就介紹到這了,更多相關(guān)mybatis Configuration內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 亚洲一级黄色录像 | 高清久久久| 黄色大片免费在线观看 | 99热只有| 亚洲成人动漫在线观看 | 亚洲区小说区图片区qvod | 欧美 日韩 国产 一区二区三区 | 日韩欧美国产亚洲 | 男人午夜视频 | 国产精品久久免费视频 | 色中文字幕 | 禁片天堂 | 久久精品www| 在线观看日本一区 | 亚洲少妇久久 | 亚洲欧美一区二区三区在线 | 九九九在线视频 | 天天操天天干天天爱 | 四虎在线免费播放 | 亚洲精品aa | 日韩不卡在线 | 色先锋影音先锋 | 依人99 | 日韩二区视频 | 亚洲一区二区三区视频 | 性欧美极品另类 | www在线免费观看 | 性色av一区二区三区在线观看 | 国产免费视频 | 国产中文字幕在线播放 | 成年人精品 | 久久久全国免费视频 | 国产视频h | 国产成人精品一区二区三区网站观看 | 久久6精品| 在线观看日韩中文字幕 | 亚洲精品一区在线 | 日韩av一二三 | 8x8x华人在线| 国产精视频 | 老熟妇毛片 |