MyBatis框架

第3章 MyBatis全局配置文件

3.1 MyBatis全局配置文件簡介

  • The MyBatis configuration contains settings and properties that have a dramatic effect on how MyBatis behaves.

MyBatis 的配置文件包含了影響 MyBatis 行為甚深的設(shè)置(settings)和屬性(properties)信息。

  • 文件結(jié)構(gòu)如下:

configuration 配置

properties 屬性

settings 設(shè)置

typeAliases 類型命名

typeHandlers 類型處理器

objectFactory 對象工廠

plugins 插件

environments 環(huán)境

environment 環(huán)境變量

transactionManager 事務(wù)管理器

dataSource 數(shù)據(jù)源

databaseIdProvider 數(shù)據(jù)庫廠商標識

mappers 映射器

 

 

3.2 properties屬性

  • 可外部配置且可動態(tài)替換的,既可以在典型的 Java 屬性文件中配置,亦可通過 properties 元素的子元素來配置

<properties>

???? <property name="driver" value="com.mysql.jdbc.Driver" />

???? <property name="url"

???????????? value="jdbc:mysql://localhost:3306/test_mybatis" />

??? ?<property name="username" value="root" />

??? ?<property name="password" value="1234" />

?</properties>

 

 

  • 然而properties的作用并不單單是這樣,你可以創(chuàng)建一個資源文件,名為properties的文件,將四個連接字符串的數(shù)據(jù)在資源文件中通過鍵值 對(key=value)的方式放置,不要任何符號,一條占一行

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mybatis_1129

jdbc.username=root

jdbc.password=1234

 

<!--

?????????????????? properties: 引入外部的屬性文件

??????????????????????????? resource: 從類路徑下引入屬性文件

??????????????????????????? url:? 引入網(wǎng)絡(luò)路徑或者是磁盤路徑下的屬性文件

-->

<properties resource="db.properties" ></properties>

 

3)在environment元素的dataSource元素中為其動態(tài)設(shè)置

<environments default="oracle">

?????????????????? <environment id="mysql">

??????????????????????????? <transactionManager type="JDBC" />

??????????????????????????? <dataSource type="POOLED">

???????????????????????????????????? <property name="driver" value="${jdbc.driver}" />

???????????????????????????????????? <property name="url" value="${jdbc.url}" />

???????????????????????????????????? <property name="username"

???????????????????????? value="${jdbc.username}" />

???????????????????????????????????? <property name="password"

???????????????????????? value="${jdbc.password}" />

??????????????????????????? </dataSource>

?????????????????? </environment>

?????? </environments>