1. 程式人生 > 實用技巧 >Mybatis包目錄簡介

Mybatis包目錄簡介

包名稱包內內容簡介
annotation 註解目錄。包括所有的註解。如@SELECT,@UPDATE
binding Mapper類的例項反射生成工具目錄
builder 主要是註解,mapper和SqlSuorce的構造器及轉換器
cache Mybatis內部快取介面。實現了一些特定的快取策略。FifoCache,LruCache,BlockingCache,LoggingCache
cursor 預設的遊標處理類
dataSource 資料來源工廠類及實現。實現類包括JndiDataSourceFactoryPooledDataSourceFactory
UnpooledDataSourceFactory。 資料來源實現類:UnpooledDataSourcePooledDataSource
exceptions Mybatis自定義的三個異常類。ExceptionFactoryPersistenceExceptionTooManyResultsExceptionIbatisException。都繼承自RuntimeException
executor 執行器相關包。包括Key生成器、載入器(包括Cglib、Javassist的代理,結果載入器)、引數處理器介面、結果處理器、結果集(resultSet)處理器、Statement處理器(實現類:BaseStatementHandler
CallableStatementHandlerPreparedStatementHandlerRoutingStatementHandlerSimpleStatementHandler)、執行器(SimpleExecutorReuseExecutorCachingExecutorBatchExecutorBaseExecutor)
io 主要是定義的幾個VFS(VFSDefaultVFSClassLoaderWrapper)
javassist javassist的位元組碼處理包
jdbc 與Sql相關的操作。如Sql執行器,指令碼執行器和Sql封裝類等
lang 指定是用java7還是java8的API的註解.UsesJava7UsesJava8
logging 各個型別的日誌介面卡,都實現了Log介面。StdOutImplSlf4jImplNoLoggingImplLog4j2ImplLog4jImplJdk14LoggingImplBaseJdbcLoggerJakartaCommonsLoggingImpl
mapping 主要是介面引數,sql和返回結果的對映類,主要類包括:MappedStatement,ParameterMap,ParameterMapping,ResultMap,ResultMapping,BoundSql,SqlSource等類
ognl ognl包在Mybatis中的內部程式碼引用
parsing 變數解析.如解析${},#{}
plugin 主要包含外掛的定義介面。如Interceptor,Plugin,InterceptorChain
reflection 主要是一些反射操作的工具方法和物件工廠類,以及一些常用的包裝類,如BaseWrapper,BeanWrapper,CollectionWrapper,MapWrapper,ObjectWrapper,,,
scripting 執行驅動和動態Sql解析的老巢
session 主要是SqlSession和SqlSessionFactory
transaction 主要是mybatis簡單封裝的jdbc事務操作類
type 各個型別資料的處理器。用於動態的設定引數和轉換資料。如IntegerTypeHandler用來處理Integer型別的值的set和get操作。除了八大基本型別。還有常用的集合及Map型別,還增加了各種時間型別的處理器

總結

通過整理每個包的主要功能。通覽整個mybatis的程式碼結構,瞭解各個元件的位置和大概的處理關係。為後續分析原始碼打下基礎。