MyBatisの学習(四) - configグローバルコンフィギュレーションファイルの解析

 

設定ファイル「http://mybatis.org/dtd/mybatis-3-config.dtd」の全集に導入されたDTDの制約は、主に以下のラベルには、ここで詳細にこれらのラベルの使用を説明します

図1に示すように、プロパティのプロパティプロファイル特性が再配布します----

<?xmlのバージョン= "1.0"エンコード= "UTF-8"?> 
<構成PUBLICをDOCTYPE! " - // mybatis.org//DTDコンフィグ3.0 // EN"「http://mybatis.org/dtd/mybatis config.dtd - 3「> 
<構成> < - !1、外形のプロパティの内容を導入するために使用MyBatisのプロパティ 
    リソースクラス導入路内のリソースを
    下部ディスクネットワークパスまたはパス・リソースに導入URL - > 
    <=リソースプロパティ"db.properties"> </プロパティ> 
    <環境デフォルト= "開発"> 
        <環境ID = "開発"> 
            <トランザクションマネージャーのタイプ= "JDBC" /> <! -構成データベース接続情報- > 
            <タイプ=データソース「POOLED」> 
                <プロパティ名=「ドライバー」
    

           値= "$ {jdbc.driver}" /> 
                <プロパティ名= "URL"の値= "$ {jdbc.url}" />
                <プロパティ名= "ユーザ名"値= "$ {jdbc.name}" />
                <プロパティ名= "パスワード"値= "$ {jdbc.password}" /> 
            </のdataSource> 
        </環境> 
    </環境> <マッパー> 
        <マッパーリソース= "COM / PJF / MyBatisの/マッパ/ hotelMapper.xml 「> </マッパー> 
    </マッパー> 
</ configuration>の
   

db.propertiesのファイル

jdbc.driver =はcom.mysql.jdbc.Driver 
jdbc.url = JDBCます。mysql:// localhostを:3306 / spring_mybatis 
jdbc.name =ルート
jdbc.password = tuniu520

前の書き込みと比較すると、JDBC接続情報がプロパティで書かれているが、外部プロファイルを導入することなく、データソースの属性

<?xml version = "1.0"エンコード= "UTF-8"?> 
<DOCTYPE設定PUBLIC! " - // mybatis.org//DTDコンフィグ3.0 // EN"「http://mybatis.org/dtd/mybatis -3- config.dtd "> 
<設定> 
    <環境デフォルト="開発"> 
        <環境ID ="開発"> 
            <トランザクションマネージャーのタイプ=" JDBC」/> <! -配置数据库连接信息- > 
            <データソースタイプ= "POOLED"> 
                <プロパティ名= "ドライバ"値= "はcom.mysql.jdbc.Driver" /> 
                <プロパティ名= "URL"の値= "はjdbc:mysqlの:// localhostを:3306 / spring_mybatis" /> 
                <プロパティ名=」ユーザ名」値= "ルート" /> 
                <プロパティ名= "パスワード"値= "tuniu520" /> 
            </のdataSource>
           
        </環境>
    </環境> 
    <マッパー> 
    <マッパー資源= "COM / PJF / MyBatisの/マッパ/ hotelMapper.xml"> </マッパ> 
    </マッパー> 
</構成>

2、設定実行時の動作の設定

MyBatisのは、ドキュメントを表示することができ、設定は、次のような多くの設定項目を、持っています

ここでのテストmapUnderscoreToCamelCaseは、自動的に行うことができますhotelNameにデータベースフィールド回しHOTEL_NAME変更を

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
             resource 引入类路径下资源
             url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    <!-- 2、settings包含很多重要的设置项
            setting标识具体的设置项
                 name表示设置项的名字
                 value表示设置项的值 
     -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
    </mappers>
</configuration>

之前写的sql语句可以直接修改成

<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel">
        select id,hotel_name as hotelName, hotel_address as hotelAddress, price from hotel
        where id=#{id}
    </select>

修改为
<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel"> select * from hotel where id=#{id} </select>

mybatis会自动完成驼峰转换

3、typeAliases别名配置

     查看代码中3的注解

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
               resource 引入类路径下资源 
               url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    
    <!-- 2、settings包含很多重要的设置项
             setting标识具体的设置项 
                 name表示设置项的名字 
                 value表示设置项的值 -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <!-- 3、typeAliases 为java类型起别名,别名不区分大小写 
              typeAlias 为某个具体的java类型取别名 
                   type java类的全类名,默认别名就是类名小写 
                   alias 自定义别名 --> 
    <typeAliases>
        <typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" />
        <!-- package为某个包下面所有类批量起别名 
           name 表示包的名称 默认别名为类名小写  
这里重复配置了Hotel类,复制的时候注掉一种配置--> <package name="com.pjf.mybatis.po" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.name}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper> </mappers> </configuration>

已经为许多常见的 Java 类型内建了相应的类型别名。它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理,8种基本数据类型类型别名是下划线加数据类型。

4、typeHandlers 类型处理器

将java中的类型和数据库中的类型进行映射

<!-- typeHandlers 类型处理器
  mybatis3.4之后,这些类型处理器都是自动注册的
-->
    <typeHandlers>
    <typeHandler handler="BooleanTypeHandler"/>
    </typeHandlers>

可以填写以下处理器

5、environments环境配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
               resource 引入类路径下资源 
               url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    
    <!-- 2、settings包含很多重要的设置项
             setting标识具体的设置项 
                 name表示设置项的名字 
                 value表示设置项的值 -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <!-- 3、typeAliases 为java类型起别名,别名不区分大小写 
              typeAlias 为某个具体的java类型取别名 
                   type java类的全类名,默认别名就是类名小写 
                   alias 自定义别名 --> 
    <typeAliases>
        <typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" />
        <!-- package为某个包下面所有类批量起别名 
           name 表示包的名称 默认别名为类名小写
        <package name="com.pjf.mybatis.po" />
        -->
    </typeAliases>
    
    <!-- 4、typeHandlers 类型处理器-->
    <typeHandlers>
    <typeHandler handler=""/>
    </typeHandlers>
    
    <!-- 5、environments环境配置,可以配置多种环境  default指定使用某种环境,可以达到快速切换
               environment配置一个具体的环境信息,必须有如下两个标签,id表示当前环境的唯一标识
                   transactionManager 事物管理器
                        type 事物管理器的类型   有两种取值 
                              JDBC
                              managed
                   dataSource 数据源   
                        type    有三种[UNPOOLED|POOLED|JNDI]
                -->
    <environments default="development">
        <environment id="test">
        <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
        
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
    </mappers>
</configuration>

6、mappers  sql映射文件注册

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
               resource 引入类路径下资源 
               url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    
    <!-- 2、settings包含很多重要的设置项
             setting标识具体的设置项 
                 name表示设置项的名字 
                 value表示设置项的值 -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <!-- 3、typeAliases 为java类型起别名,别名不区分大小写 
              typeAlias 为某个具体的java类型取别名 
                   type java类的全类名,默认别名就是类名小写 
                   alias 自定义别名 --> 
    <typeAliases>
        <typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" />
        <!-- package为某个包下面所有类批量起别名 
           name 表示包的名称 默认别名为类名小写
        <package name="com.pjf.mybatis.po" />
        -->
    </typeAliases>
    
    <!-- 4、typeHandlers 类型处理器-->
    <typeHandlers>
    <typeHandler handler=""/>
    </typeHandlers>
    
    <!-- 5、environments环境配置,可以配置多种环境  default指定使用某种环境,可以达到快速切换
               environment配置一个具体的环境信息,必须有如下两个标签,id表示当前环境的唯一标识
                   transactionManager 事物管理器
                        type 事物管理器的类型   有两种取值 
                              JDBC
                              managed
                   dataSource 数据源   
                        type    有三种[UNPOOLED|POOLED|JNDI]
                -->
    <environments default="development">
        <environment id="test">
        <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
        
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
        
    <!--6、 mappers将sql映射注册到全局配置文件中
              mapper注册一个sql映射
                 1、注册配置文件
                      resource引用类路径下文件
                      url  引用网络上或磁盘路径下文件
                 2、注册mapper接口
                     class  有映射文件,接口和映射文件必须同名,而且放在同一个路径里
                            如果没有映射文件,sql语句使用注解的方式,就需要注册接口了
                 3、package批量注册  
                      使用批量注册,  接口和映射文件必须同名,而且放在同一个路径里                                                      
     -->
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
        <mapper class=""/>
        <package name="com.pjf.mybatis.po"/>
    </mappers>
</configuration>

 

7、databaseIdProvider多数据库支持

MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。 如果同时找到带有 databaseId 和不带 databaseId 的相同语句,则后者会被舍弃。 

<databaseIdProvider type="DB_VENDOR"></databaseIdProvider>

8、plugins 插件

MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。

<plugins>
    <plugin interceptor=""></plugin>
</plugins>

 

注:这些标签编写是有先后顺序的,可以吧鼠标放在configuration上,就可以看到顺序了

(properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)

 

1、properties属性----引入外部properties配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容 
    resource 引入类路径下资源 
    url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
    </mappers>
</configuration>

db.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_mybatis
jdbc.name=root
jdbc.password=tuniu520

相比有之前写的,这里的jdbc连接信息写在datasource中的property属性下,没有引入外部配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/spring_mybatis" />
                <property name="username" value="root" />
                <property name="password" value="tuniu520" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
    <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
    </mappers>
</configuration>

2、settings 运行时行为设置

可查看mybatis文档,settings有很多配置项,如

这里试验下mapUnderscoreToCamelCase,可以自动完成hotelName到数据库中字段hotel_name的转

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
             resource 引入类路径下资源
             url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    <!-- 2、settings包含很多重要的设置项
            setting标识具体的设置项
                 name表示设置项的名字
                 value表示设置项的值 
     -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
    </mappers>
</configuration>

之前写的sql语句可以直接修改成

<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel">
        select id,hotel_name as hotelName, hotel_address as hotelAddress, price from hotel
        where id=#{id}
    </select>

修改为
<select id="getHotel" resultType="com.pjf.mybatis.po.Hotel"> select * from hotel where id=#{id} </select>

mybatis会自动完成驼峰转换

3、typeAliases别名配置

     查看代码中3的注解

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
               resource 引入类路径下资源 
               url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    
    <!-- 2、settings包含很多重要的设置项
             setting标识具体的设置项 
                 name表示设置项的名字 
                 value表示设置项的值 -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <!-- 3、typeAliases 为java类型起别名,别名不区分大小写 
              typeAlias 为某个具体的java类型取别名 
                   type java类的全类名,默认别名就是类名小写 
                   alias 自定义别名 --> 
    <typeAliases>
        <typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" />
        <!-- package为某个包下面所有类批量起别名 
           name 表示包的名称 默认别名为类名小写  
这里重复配置了Hotel类,复制的时候注掉一种配置--> <package name="com.pjf.mybatis.po" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <!-- 配置数据库连接信息 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.name}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper> </mappers> </configuration>

已经为许多常见的 Java 类型内建了相应的类型别名。它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理,8种基本数据类型类型别名是下划线加数据类型。

4、typeHandlers 类型处理器

将java中的类型和数据库中的类型进行映射

<!-- typeHandlers 类型处理器
  mybatis3.4之后,这些类型处理器都是自动注册的
-->
    <typeHandlers>
    <typeHandler handler="BooleanTypeHandler"/>
    </typeHandlers>

可以填写以下处理器

5、environments环境配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
               resource 引入类路径下资源 
               url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    
    <!-- 2、settings包含很多重要的设置项
             setting标识具体的设置项 
                 name表示设置项的名字 
                 value表示设置项的值 -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <!-- 3、typeAliases 为java类型起别名,别名不区分大小写 
              typeAlias 为某个具体的java类型取别名 
                   type java类的全类名,默认别名就是类名小写 
                   alias 自定义别名 --> 
    <typeAliases>
        <typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" />
        <!-- package为某个包下面所有类批量起别名 
           name 表示包的名称 默认别名为类名小写
        <package name="com.pjf.mybatis.po" />
        -->
    </typeAliases>
    
    <!-- 4、typeHandlers 类型处理器-->
    <typeHandlers>
    <typeHandler handler=""/>
    </typeHandlers>
    
    <!-- 5、environments环境配置,可以配置多种环境  default指定使用某种环境,可以达到快速切换
               environment配置一个具体的环境信息,必须有如下两个标签,id表示当前环境的唯一标识
                   transactionManager 事物管理器
                        type 事物管理器的类型   有两种取值 
                              JDBC
                              managed
                   dataSource 数据源   
                        type    有三种[UNPOOLED|POOLED|JNDI]
                -->
    <environments default="development">
        <environment id="test">
        <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
        
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
    </mappers>
</configuration>

6、mappers  sql映射文件注册

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    
    <!-- 1、mybatis使用properties来引入外部properties配置文件的内容
               resource 引入类路径下资源 
               url 引入网络路径或磁盘路径下资源 -->
    <properties resource="db.properties"></properties>
    
    <!-- 2、settings包含很多重要的设置项
             setting标识具体的设置项 
                 name表示设置项的名字 
                 value表示设置项的值 -->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
    
    <!-- 3、typeAliases 为java类型起别名,别名不区分大小写 
              typeAlias 为某个具体的java类型取别名 
                   type java类的全类名,默认别名就是类名小写 
                   alias 自定义别名 --> 
    <typeAliases>
        <typeAlias type="com.pjf.mybatis.po.Hotel" alias="hotel" />
        <!-- package为某个包下面所有类批量起别名 
           name 表示包的名称 默认别名为类名小写
        <package name="com.pjf.mybatis.po" />
        -->
    </typeAliases>
    
    <!-- 4、typeHandlers 类型处理器-->
    <typeHandlers>
    <typeHandler handler=""/>
    </typeHandlers>
    
    <!-- 5、environments环境配置,可以配置多种环境  default指定使用某种环境,可以达到快速切换
               environment配置一个具体的环境信息,必须有如下两个标签,id表示当前环境的唯一标识
                   transactionManager 事物管理器
                        type 事物管理器的类型   有两种取值 
                              JDBC
                              managed
                   dataSource 数据源   
                        type    有三种[UNPOOLED|POOLED|JNDI]
                -->
    <environments default="development">
        <environment id="test">
        <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
        
        <environment id="development">
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.name}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>
        
    <!--6、 mappers将sql映射注册到全局配置文件中
              mapper注册一个sql映射
                 1、注册配置文件
                      resource引用类路径下文件
                      url  引用网络上或磁盘路径下文件
                 2、注册mapper接口
                     class  有映射文件,接口和映射文件必须同名,而且放在同一个路径里
                            如果没有映射文件,sql语句使用注解的方式,就需要注册接口了
                 3、package批量注册  
                      使用批量注册,  接口和映射文件必须同名,而且放在同一个路径里                                                      
     -->
    <mappers>
        <mapper resource="com/pjf/mybatis/mapper/hotelMapper.xml"></mapper>
        <mapper class=""/>
        <package name="com.pjf.mybatis.po"/>
    </mappers>
</configuration>

 

7、databaseIdProvider多数据库支持

MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。 如果同时找到带有 databaseId 和不带 databaseId 的相同语句,则后者会被舍弃。 

<databaseIdProvider type="DB_VENDOR"></databaseIdProvider>

8、plugins 插件

MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。

<plugins>
    <plugin interceptor=""></plugin>
</plugins>

 

注:这些标签编写是有先后顺序的,可以吧鼠标放在configuration上,就可以看到顺序了

(properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)

 

おすすめ

転載: www.cnblogs.com/JonaLin/p/11578872.html