最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis的Configuration詳解

 更新時(shí)間:2020年11月03日 15:10:33   作者:IT樂(lè)知  
這篇文章主要介紹了mybatis的Configuration詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

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

回顧

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

1測(cè)試代碼.jpg

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

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

Configuration基礎(chǔ)信息說(shuō)明

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

2基本屬性.jpg

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

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

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

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

3集合無(wú)參構(gòu)造.jpg

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

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

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

再看parse方法

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

4解析xml.jpg

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

總結(jié)

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

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

相關(guān)文章

  • java?安全ysoserial?URLDNS利用鏈分析

    java?安全ysoserial?URLDNS利用鏈分析

    這篇文章主要為大家介紹了java?安全ysoserial?URLDNS利用鏈分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Java 網(wǎng)絡(luò)編程之 TCP 實(shí)現(xiàn)簡(jiǎn)單的聊天系統(tǒng)

    Java 網(wǎng)絡(luò)編程之 TCP 實(shí)現(xiàn)簡(jiǎn)單的聊天系統(tǒng)

    這篇文章主要介紹了Java 網(wǎng)絡(luò)編程之 TCP 實(shí)現(xiàn)簡(jiǎn)單的聊天系統(tǒng),幫助大家更好的理解和學(xué)習(xí)Java 網(wǎng)絡(luò)編程,感興趣的朋友可以了解下
    2020-11-11
  • Jenkins集成SonarQube的方法詳解

    Jenkins集成SonarQube的方法詳解

    這篇文章主要介紹了Jenkins集成SonarQube的方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Spring框架JdbcTemplate數(shù)據(jù)庫(kù)事務(wù)管理完全注解方式

    Spring框架JdbcTemplate數(shù)據(jù)庫(kù)事務(wù)管理完全注解方式

    這篇文章主要介紹了Spring框架JdbcTemplate數(shù)據(jù)庫(kù)事務(wù)管理及完全注解方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • SpringMVC Validator驗(yàn)證示例

    SpringMVC Validator驗(yàn)證示例

    SpringMVC服務(wù)器驗(yàn)證一種是有兩種方式,一種是基于Validator接口,一種是使用Annotaion JSR-303標(biāo)準(zhǔn)的驗(yàn)證,本篇文章主要介紹,有興趣的可以了解一下。
    2017-01-01
  • java中如何判斷對(duì)象是否是垃圾

    java中如何判斷對(duì)象是否是垃圾

    這篇文章主要介紹了java中如何判斷對(duì)象是否是垃圾,Java有兩種算法判斷對(duì)象是否是垃圾:引用計(jì)數(shù)算法和可達(dá)性分析算法,需要的朋友可以參考下
    2023-04-04
  • Java實(shí)現(xiàn)將word轉(zhuǎn)換為html的方法示例【doc與docx格式】

    Java實(shí)現(xiàn)將word轉(zhuǎn)換為html的方法示例【doc與docx格式】

    這篇文章主要介紹了Java實(shí)現(xiàn)將word轉(zhuǎn)換為html的方法,結(jié)合實(shí)例形式分析了java針對(duì)doc與docx格式文件的相關(guān)轉(zhuǎn)換操作技巧,需要的朋友可以參考下
    2019-03-03
  • Java原子類中的AtomicInteger類詳解

    Java原子類中的AtomicInteger類詳解

    這篇文章主要介紹了Java原子類中的AtomicInteger類詳解,原子類可以保證對(duì)"變量"操作的,原子性、有序性、可見(jiàn)性,我們可以通過(guò)AtomicInteger類,來(lái)看看它們是怎樣工作的,需要的朋友可以參考下
    2023-10-10
  • SpringSecurity如何設(shè)置白名單策略

    SpringSecurity如何設(shè)置白名單策略

    這篇文章主要介紹了SpringSecurity如何設(shè)置白名單策略,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 淺析Java內(nèi)存模型與垃圾回收

    淺析Java內(nèi)存模型與垃圾回收

    下面小編就為大家?guī)?lái)一篇淺析Java內(nèi)存模型與垃圾回收。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,祝大家游戲愉快哦
    2016-05-05

最新評(píng)論

庐江县| 许昌市| 天气| 大冶市| 苍南县| 抚顺市| 海阳市| 阳西县| 吉安市| 邹平县| 于田县| 八宿县| 宝坻区| 陈巴尔虎旗| 陵川县| 彰武县| 东莞市| 黑河市| 沂水县| 华亭县| 南昌市| 荆门市| 西华县| 上思县| 南召县| 乐亭县| 佛教| 迁安市| 济南市| 荔波县| 鹤壁市| 镇平县| 郎溪县| 山阳县| 收藏| 瑞金市| 涟水县| 元阳县| 麻江县| 大理市| 天峻县|