一、模塊概覽
公司專注于為企業(yè)提供網(wǎng)站設(shè)計制作、成都做網(wǎng)站、微信公眾號開發(fā)、商城網(wǎng)站制作,微信小程序,軟件按需開發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。模塊名稱 | 作用 | 主要類 |
反射模塊 | 封裝JAVA API,易用,進(jìn)行了緩存優(yōu)化 | |
類型轉(zhuǎn)換模塊 | 綁定實參及映射查詢結(jié)果集 | |
日志模塊 | 定位BUG,解決瓶頸 | |
資源加載模塊 | 類加載器,確定類加載器使用順序 | |
解析器模塊 | Xpath,初始化解析mybatis-confg.xml,mapper.xml, 動態(tài)SQL占位符 | XPathParser TokenHandler EntityResolver |
數(shù)據(jù)源模塊 | ||
事務(wù)管理模塊 | 抽象處理 | |
緩存模塊 | 提供一級和二級緩存 | |
Binding模塊 | 自定義Mapper接口與映射語句關(guān)聯(lián) |
二、模塊分析
2.1 解析器模塊
顧名思義:提供XML文件的解析。
GenericTokenParser:通用的占位符解析器。
TokenHandler:解析占位符
2.2 反射工具箱
Reflector:一個Reflector對應(yīng)一個類,緩存了反射需要類的元信息。
ReflectorFactory:生成緩存Reflector
TypeParameterResolver:工具類,解析指定類中的字段,方法返回值,方法參數(shù)的類型。
PropertyTokenizer 是一個Iterator接口,實現(xiàn)嵌套屬性解析。
MetaClass:類級別元信息的封裝和處理
ObjectWrapper:對象的包裝,抽象了對象的屬性信息,定義了更新屬性,查詢屬性信息的方法。
ObjectFactory:創(chuàng)建指定類型的對象
MetaObject:調(diào)用ObjectWrapper,完成對象屬性的檢測,獲取,設(shè)置等功能。
3. 類型轉(zhuǎn)換
JDBC到JAVA類型轉(zhuǎn)換 及JAVA類型到JDBC類型轉(zhuǎn)換,兩種不同類型的橋梁。
ResolverUtil:根據(jù)指定的條件查找指定包下的類。
3.日志模塊
適配了第三方日志接口的差異。
JDBC調(diào)試:通過JDK動態(tài)代理方式,將JDBC操作通過指定的日志框架打印出來。
4.Binding
MapperProxy:代理對象
MapperRegistry:Mapper接口及對應(yīng)代理對象工廠的注冊中心。
MapperMethod:封裝了Mapper接口中對應(yīng)方法的信息,以及SQL語句信息。
ParamNameResolver:Mapper接口定義的方法參數(shù)。記錄參數(shù)列表中位置索引和參數(shù)名稱對應(yīng)關(guān)系
MethodSignature:Mapper接口中定義的方法的相關(guān)信息。