91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis整體架構

發布時間:2020-05-09 10:05:26 來源:網絡 閱讀:1791 作者:randy_shandong 欄目:軟件技術

一、模塊概覽

模塊名稱
作用
主要類
反射模塊
封裝JAVA API,易用,進行了緩存優化

類型轉換模塊
綁定實參及映射查詢結果集
日志模塊
定位BUG,解決瓶頸
資源加載模塊
類加載器,確定類加載器使用順序
解析器模塊

Xpath,初始化解析mybatis-confg.xml,mapper.xml,

動態SQL占位符

XPathParser

TokenHandler

EntityResolver

數據源模塊


事務管理模塊
抽象處理

緩存模塊
提供一級和二級緩存
Binding模塊
自定義Mapper接口與映射語句關聯

二、模塊分析

2.1 解析器模塊

顧名思義:提供XML文件的解析。

MyBatis整體架構

GenericTokenParser:通用的占位符解析器。

TokenHandler:解析占位符

MyBatis整體架構


2.2  反射工具箱

MyBatis整體架構

  1. Reflector:一個Reflector對應一個類,緩存了反射需要類的元信息。

  2. ReflectorFactory:生成緩存Reflector

  3. TypeParameterResolver:工具類,解析指定類中的字段,方法返回值,方法參數的類型。

  4. PropertyTokenizer 是一個Iterator接口,實現嵌套屬性解析。

  5. MetaClass:類級別元信息的封裝和處理

  6. ObjectWrapper:對象的包裝,抽象了對象的屬性信息,定義了更新屬性,查詢屬性信息的方法。

  7. ObjectFactory:創建指定類型的對象

  8. MetaObject:調用ObjectWrapper,完成對象屬性的檢測,獲取,設置等功能。


3. 類型轉換

JDBC到JAVA類型轉換 及JAVA類型到JDBC類型轉換,兩種不同類型的橋梁。

MyBatis整體架構

ResolverUtil:根據指定的條件查找指定包下的類。

3.日志模塊

適配了第三方日志接口的差異。

MyBatis整體架構

JDBC調試:通過JDK動態代理方式,將JDBC操作通過指定的日志框架打印出來。

MyBatis整體架構

4.Binding

MyBatis整體架構

MapperProxy:代理對象

MapperRegistry:Mapper接口及對應代理對象工廠的注冊中心。

MapperMethod:封裝了Mapper接口中對應方法的信息,以及SQL語句信息。

ParamNameResolver:Mapper接口定義的方法參數。記錄參數列表中位置索引和參數名稱對應關系

MethodSignature:Mapper接口中定義的方法的相關信息。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

二连浩特市| 灵武市| 黔南| 关岭| 平利县| 湘乡市| 友谊县| 靖州| 隆昌县| 会昌县| 东辽县| 建瓯市| 手机| 安远县| 洞口县| 岗巴县| 买车| 汾西县| 台州市| 崇仁县| 赣榆县| 烟台市| 和龙市| 洪湖市| 霍邱县| 靖江市| 陕西省| 宜都市| 颍上县| 张家口市| 岐山县| 石狮市| 黎平县| 邹平县| 通道| 景德镇市| 安西县| 灵川县| 华亭县| 洪泽县| 新宁县|