1. 程式人生 > 實用技巧 >Mybatis優化配置!

Mybatis優化配置!

4、配置解析

4.1、核心配置檔案(20-12-17)

  • mybatis-config.xml
  • MyBatis 的配置檔案包含了會深深影響 MyBatis 行為的設定和屬性資訊。
configuration(配置)
properties(屬性)
settings(設定)
typeAliases(類型別名)
typeHandlers(型別處理器)
objectFactory(物件工廠)
plugins(外掛)
environments(環境配置)
environment(環境變數)
transactionManager(事務管理器)
dataSource(資料來源)
databaseIdProvider(資料庫廠商標識)
mappers(對映器)

4.2、環境配置(environments)

MyBatis 可以配置成適應多種環境

不過要記住:儘管可以配置多個環境,但每個 SqlSessionFactory 例項只能選擇一種環境。

學會使用配置多要執行環境!

Mybatis預設的事務管理器是JDBC, 連線池 : POOLED

4.3、屬性(properties)

我們可以使用properties屬性來實現引用配置檔案!

這些屬性可以在外部進行配置,並可以進行動態替換。你既可以在典型的 Java 屬性檔案中配置這些屬性,也可以在 properties 元素的子元素中設定。

編寫一個配置檔案

db.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username=root
password=123456

在核心配置檔案中引入

    <!--引入外部配置檔案-->
    <properties resource="db.properties">
        <property name="username" value="root"/>
        <property name="password" value="111111"/>
    </properties>
  • 可以直接引入外部檔案
  • 可以在其中增加一些屬性配置
  • 如果兩個檔案有同一個欄位,優先使用外部配置檔案的

4.4、類型別名(typeAliases)

  • 類型別名可為 Java 型別設定一個縮寫名字。
  • 意在降低冗餘的全限定類名書寫。
    <!--可以給實體類起別名-->
    <typeAliases>
        <typeAlias type="com.kuang.pojo.User" alias="User"/>
    </typeAliases>

也可以指定一個包名,MyBatis 會在包名下面搜尋需要的 Java Bean,比如:

掃描實體類的包,它的預設別名就為這個類的 類名,首字母小寫!

    <!--可以給實體類起別名-->
    <typeAliases>
        <package name="com.kuang.pojo"/>
    </typeAliases>

在實體類比較少的時候,使用第一種方式。

如果實體類十分多,建議使用第二種。

第一種可以DIY別名,第二種則不行,如果非要改,需要在實體類上增加註解

@Alias("user")
public class user {}

4.5、設定(settings)

這是 MyBatis 中極為重要的調整設定,它們會改變 MyBatis 的執行時行為。

logImpl 指定 MyBatis 所用日誌的具體實現,未指定時將自動查詢。
cacheEnabled 全域性性地開啟或關閉所有對映器配置檔案中已配置的任何快取。 true/false true
lazyLoadingEnabled 延遲載入的全域性開關。當開啟時,所有關聯物件都會延遲載入。 特定關聯關係中可通過設定 fetchType 屬性來覆蓋該項的開關狀態。 true/false false