---
# System prepended metadata

title: 配置之屬性優化
tags: [Mybatis-配置解析]

---

# 配置之屬性優化
###### tags: `Mybatis-配置解析`

## 配置解析
### 1.核心配置文件
* mybatis-config.xml
* MyBatis 的配置文件包含了會深深影響 MyBatis 行為的設置和屬性信息。
![](https://i.imgur.com/hk94ahd.png)

### 2.環境配置(environments
MyBatis 可以配置成適應多種環境，
**不過要記住：盡管可以配置多個環境，但每個 SqlSessionFactory 實例只能選擇一種環境。**
![](https://i.imgur.com/0mr92ce.png)

* 學會使用配置多套運行環境
```xml=
    <environments default="development">
        <environment id="development">
<!--transactionManager事務管理-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>

        <environment id="test">
            <!--transactionManager事務管理-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
```

透過default來修改使用的環境
```xml=
    <environments default="test">
```

* Mybatis默認的事務管理是JDB，連接持:POOLED
![](https://i.imgur.com/GIMumZU.png)

### 3.屬性（properties）
我們可以透過properties屬性來實現引用配置文件

這些屬性可以在外部進行配置，並可以進行動態替換。你既可以在典型的 Java 屬性文件中配置這些屬性，也可以在 properties 元素的子元素中設置。【db.properties】

1.編寫一個配置文件
```properties=
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
user=root
password=123456
```

2.在核心配置文件中引入
**注意：xml中，所有標籤都有規定順序**
![](https://i.imgur.com/qJhpKoM.png)

```xml=
<!--引入外部配置文件-->
    <properties resource="db.properties"/>
```

* 可以直接引入外部文件
* 可以在其中增加一些屬性配置
```xml=
<properties resource="org/mybatis/example/config.properties">
  <property name="username" value="dev_user"/>
  <property name="password" value="F2Fa3!33TYyg"/>
</properties>
```
* 如果兩個文件有同一個字段，優先使用外部配置文件