成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Mybatis源碼分析(1) - Mybatis包目錄簡介

chengtao1633 / 1845人閱讀

摘要:核心包包名稱包內(nèi)內(nèi)容簡介注解目錄。如等類的實例反射生成工具目錄主要是注解,和的構(gòu)造器及轉(zhuǎn)換器內(nèi)部緩存接口。等默認的游標處理類數(shù)據(jù)源工廠類及實現(xiàn)。數(shù)據(jù)源實現(xiàn)類自定義的三個異常類。。都繼承自執(zhí)行器相關(guān)包。為后續(xù)分析源碼打下基礎(chǔ)。

Mybatis核心包

包名稱 包內(nèi)內(nèi)容簡介
annotation 注解目錄。包括所有的注解。如@SELECT,@UPDATE
binding Mapper類的實例反射生成工具目錄
builder 主要是注解,mapper和SqlSuorce的構(gòu)造器及轉(zhuǎn)換器
cache Mybatis內(nèi)部緩存接口。實現(xiàn)了一些特定的緩存策略。FifoCache,LruCache,BlockingCache,LoggingCache
cursor 默認的游標處理類
dataSource 數(shù)據(jù)源工廠類及實現(xiàn)。實現(xiàn)類包括JndiDataSourceFactoryPooledDataSourceFactory、UnpooledDataSourceFactory。 數(shù)據(jù)源實現(xiàn)類: UnpooledDataSourcePooledDataSource
exceptions Mybatis自定義的三個異常類。ExceptionFactory、PersistenceExceptionTooManyResultsException、IbatisException。都繼承自RuntimeException
executor 執(zhí)行器相關(guān)包。包括Key生成器、加載器(包括Cglib、Javassist的代理,結(jié)果加載器)、參數(shù)處理器接口、結(jié)果處理器、結(jié)果集(resultSet)處理器、Statement處理器(實現(xiàn)類:BaseStatementHandler、CallableStatementHandlerPreparedStatementHandler、RoutingStatementHandler、SimpleStatementHandler)、執(zhí)行器(SimpleExecutor、ReuseExecutor、CachingExecutor、BatchExecutor、BaseExecutor)
io 主要是定義的幾個VFS(VFS、DefaultVFSClassLoaderWrapper)
javassist javassist的字節(jié)碼處理包
jdbc 與Sql相關(guān)的操作。如Sql運行器,腳本運行器和Sql封裝類等
lang 指定是用java7還是java8的API的注解.UsesJava7UsesJava8
logging 各個類型的日志適配器,都實現(xiàn)了Log接口。StdOutImpl、Slf4jImplNoLoggingImpl、Log4j2Impl、Log4jImpl、Jdk14LoggingImpl、BaseJdbcLogger、JakartaCommonsLoggingImpl
mapping 主要是接口參數(shù),sql和返回結(jié)果的映射類,主要類包括:MappedStatement,ParameterMap,ParameterMapping,ResultMap,ResultMapping,BoundSql,SqlSource等類
ognl ognl包在Mybatis中的內(nèi)部代碼引用
parsing 變量解析.如解析${},#{}
plugin 主要包含插件的定義接口。如Interceptor,Plugin,InterceptorChain
reflection 主要是一些反射操作的工具方法和對象工廠類,以及一些常用的包裝類,如BaseWrapper,BeanWrapper,CollectionWrapper,MapWrapper,ObjectWrapper,,,
scripting 執(zhí)行驅(qū)動和動態(tài)Sql解析的老巢
session 主要是SqlSession和SqlSessionFactory
transaction 主要是mybatis簡單封裝的jdbc事務(wù)操作類
type 各個類型數(shù)據(jù)的處理器。用于動態(tài)的設(shè)置參數(shù)和轉(zhuǎn)換數(shù)據(jù)。如IntegerTypeHandler用來處理Integer類型的值的set和get操作。除了八大基本類型。還有常用的集合及Map類型,還增加了各種時間類型的處理器
總結(jié)

通過整理每個包的主要功能。通覽整個mybatis的代碼結(jié)構(gòu),了解各個組件的位置和大概的處理關(guān)系。為后續(xù)分析源碼打下基礎(chǔ)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/74041.html

相關(guān)文章

  • Java學習路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強)

    摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領(lǐng)導們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...

    Scorpion 評論0 收藏0
  • MyBatis 源碼分析系列文章合集

    摘要:簡介我從七月份開始閱讀源碼,并在隨后的天內(nèi)陸續(xù)更新了篇文章??紤]到超長文章對讀者不太友好,以及拆分文章工作量也不小等問題。經(jīng)過兩周緊張的排版,一本小小的源碼分析書誕生了。我在寫系列文章中,買了一本書作為參考,這本書是技術(shù)內(nèi)幕。 1.簡介 我從七月份開始閱讀MyBatis源碼,并在隨后的40天內(nèi)陸續(xù)更新了7篇文章。起初,我只是打算通過博客的形式進行分享。但在寫作的過程中,發(fā)現(xiàn)要分析的代碼...

    Crazy_Coder 評論0 收藏0
  • 開發(fā)者測試-采用精準測試工具對Spring Boot應(yīng)用進行測試

    摘要:,整合剛才已經(jīng)下載好了,現(xiàn)在我們添加文件標簽加一行如下然后是和在文件中添加數(shù)據(jù)源配置連接本地,新建數(shù)據(jù)庫,查詢執(zhí)行項目頁面列出來的語句自動建立該項目需要的數(shù)據(jù)庫內(nèi)容。 簡介:本文主要介紹把現(xiàn)今主流的springboot框架項目和精準測試工具進行結(jié)合和應(yīng)用,通過精準測試的數(shù)據(jù)穿透、數(shù)據(jù)采集、測試用例與代碼的雙向追溯、數(shù)據(jù)分析等一系列精準測試的特有功能,達到對項目質(zhì)量的保證?!?本次環(huán)境搭...

    galois 評論0 收藏0
  • 單手擼了個springboot+mybatis+druid

    摘要:配置想想,我們需要哪些數(shù)據(jù)庫要用到,數(shù)據(jù)庫連接池要用到橋接器要用到,因此要倉庫點我去倉庫中找到搜索這些加進去。 本文旨在用最通俗的語言講述最枯燥的基本知識 最近身邊的程序員掀起了學習springboot的熱潮,說什么學會了springboot在大街上就可以橫著走、什么有了springboot媽媽再也不擔心我的編程了、什么BAT都喜歡的框架...聽得作者那個心癢癢的,于是找了個時間,下載...

    adie 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<