<?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>
    <!--使用properties标签可以让我们读取配置文件或设置proterty-->
    <!--使用配置文件可以让其被重复利用减少配置麻烦和减少维护成本-->
    <properties resource="com/vina/util/jdbc.properties"/>
    <!--使用别名可以让我们用别名代替全路径,减少配置的复杂度-->
    <typeAliases>
        <typeAlias type="com.vina.pojo.People" alias="People"/>
    </typeAliases>
    <!-- 和spring整合后environments配置将废除 -->
    <!--配置环境可以注册多个数据源,每一个数据源分为两大部分-->
    <!--一个是数据库源的配置,另外一个是数据库事物的配置-->
    <!--default属性标明在缺省的情况下,将启用哪个数据源配置-->
    <environments default="JDBCEnvironment">
        <!--id属性设置该数据源的标志-->
        <environment id="JDBCEnvironment">
            <!-- 使用jdbc事务管理 -->
            <transactionManager type="JDBC" >
                <!--要求数据源不自动提交-->
                <property name="autoCommit" value="false"/>
            </transactionManager>
            <!-- 数据库连接池 -->
            <!--type属性定义了数据源的实现方式-->
            <!--POOLED:连接池-->
            <!--UNPOOLED:非连接池-->
            <!--JDNI:-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}"/>
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>

    <!--加载mapper文件-->
    <mappers>
        <!-- resource是基于classpath来查找的 -->
        <!--引入映射器的方法有很多-->
        <!--1.用文件名引入映射器,如下:-->
        <mapper resource="com/vina/mapper/PeopleMapper.xml"/>
        <!--2.用包名引入映射器-->
        <!--<package name="com.vina.mapper.PeopleMapper"/>-->
        <!--3.用类名引入映射器-->
        <!--<mapper class="com.vina.mapper.PeopleMapper"/>-->
        <!--4.用xxx.xml引入映射器-->
        <!--<mapper url="com/vina/mapper/PeopleMapper.xml"/>-->
        <!--根据实际需求选择恰当的引入方法-->
    </mappers>
</configuration>