mybatis 主配置文件各個標籤的分析

Configuration

The MyBatis configuration contains settings and properties that have a dramatic effect on how MyBatis behaves. The high level structure of the document is as follows:

  1. configuration
  2. properties
  3. settings
  4. typeAliases
  5. typeHandlers
  6. objectFactory
  7. plugins
  8. environments
  9. environment
  10. transactionManager
  11. dataSource
  12. databaseIdProvider
  13. mappers

爲根標籤,主配置文件所有的標籤都在這個下面

properties: 配置文件

<properties resource="org/mybatis/example/config.properties">
  <property name="username" value="dev_user"/>
  <property name="password" value="F2Fa3!33TYyg"/>
</properties>

這樣就可以自己在其他地方可以使用${username} 的方式引用了

settings 一些設置,比如緩存,懶加載等配置

<settings>
        <setting name="lazyLoadingEnabled" value="true"/><!-- 使用延遲加載 -->
        <setting name="aggressiveLazyLoading" value="false"/><!-- 按需加載對象屬性(即訪問對象中一個懶對象屬性,不會加載對象中其他的懶對象屬性) -->
        <setting name="cacheEnabled" value="true"/><!-- 開啓二級緩存,默認是false -->
        <setting name="callSettersOnNulls" value="true"/><!--解決,查詢返回結果含null沒有對應字段值問題-->
        <setting name="mapUnderscoreToCamelCase" value="true"/> <!--開啓駝峯命名,比如 mysql 中的字段  User_Code  對應Java bean中的userCode -->
    </settings>

typeAliases

<typeAliases>
        <!--單個類命名-->
        <typeAlias type="com.hrp.sys.entity.SysUser" alias="sysUser"/>
        <!--也可以使用註解@Alias-->
        <!--批量將一個包下的所有類都起別名-->
        <package name="com.hrp.sys.entity"></package>
    </typeAliases>

mybatis 中已經定義好的別名 基本類型是前面加_
在這裏插入圖片描述
在這裏插入圖片描述
小寫

typeHandler
在這裏插入圖片描述
在這裏插入圖片描述

插件(plugins)

MyBatis 允許你在映射語句執行過程中的某一點進行攔截調用。默認情況下,MyBatis 允許使用插件來攔截的方法調用包括:

Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
ParameterHandler (getParameterObject, setParameters)
ResultSetHandler (handleResultSets, handleOutputParameters)
StatementHandler (prepare, parameterize, batch, update, query)
這些類中方法的細節可以通過查看每個方法的簽名來發現,或者直接查看 MyBatis 發行包中的源代碼。 如果你想做的不僅僅是監控方法的調用,那麼你最好相當瞭解要重寫的方法的行爲。 因爲在試圖修改或重寫已有方法的行爲時,很可能會破壞 MyBatis 的核心模塊。 這些都是更底層的類和方法,所以使用插件的時候要特別當心。

通過 MyBatis 提供的強大機制,使用插件是非常簡單的,只需實現 Interceptor 接口,並指定想要攔截的方法簽名即可。

後面再專寫一個專題關於插件的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章