MyBatis05_主配置文件深入

本教程源码请访问:tutorial_demo
前面我们学习了持久层接口映射文件的配置,接下来我们学习一下主配置文件SqlMapConfig.xml的配置

一、properties

在使用properties标签时,我们可以采用两种方式指定属性配置。

1.1、基本使用

<?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">
<!-- mybatis的主配置文件 -->
<configuration>
    <properties>
    	<!--
            name:属性名
            value:属性值
    	-->
        <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
        <property name="jdbc.url" 
    	          value="jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf8"/>
        <property name="jdbc.username" value="root"/>
        <property name="jdbc.password" value="123456"/>
    </properties>
    <!-- 配置环境 -->
    <environments default="mysql">
        <!-- 配置mysql的环境 -->
        <environment id="mysql">
            <!-- 配置事务的类型 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源连接池-->
            <dataSource type="POOLED">
                <!--
                    配置连接数据库的4个基本信息
    		    通过${属性名}的方式获取属性值
    	        -->
                <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>

    <!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
    <mappers>
        <mapper resource="org/codeaction/dao/IUserDao.xml"/>
    </mappers>
</configuration>

1.2、引入外部配置文件

1.2.1、在resource下定义db.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf8
jdbc.username=root
jdbc.password=123456

1.2.2、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">
<!-- mybatis的主配置文件 -->
<configuration>
    <!--
        resource属性:用于指定properties配置文件的位置,要求配置文件必须在类路径下
    -->
    <properties resource="jdbcConfig.properties"></properties>
    <!-- 配置环境 -->
    <environments default="mysql">
        <!-- 配置mysql的环境 -->
        <environment id="mysql">
            <!-- 配置事务的类型 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源连接池-->
            <dataSource type="POOLED">
                <!-- 配置连接数据库的4个基本信息 -->
                <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>

    <!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
    <mappers>
        <mapper resource="org/codeaction/dao/IUserDao.xml"/>
    </mappers>
</configuration>

二、typeAliases

在上一篇文章中讲了MyBatis支持默认别名,我们也可以设置自定义别名。

可以设置单个类型的别名,也可以根据包批量设置别名。

定义别名之后,可以在上一篇中讲到的parameterType和resultType中使用别名。

配置如下:

<?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">
<!-- mybatis的主配置文件 -->
<configuration>
    <properties resource="jdbcConfig.properties"></properties>
    <typeAliases>
        <!-- 定义单个别名 -->
        <typeAlias alias="user" type="org.codeaction.domain.User" />
        <!-- 批量定义别名 -->
        <package name="org.codeaction.domain" />
    </typeAliases>
    <!-- 配置环境 -->
    <environments default="mysql">
        <!-- 配置mysql的环境 -->
        <environment id="mysql">
            <!-- 配置事务的类型 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源连接池-->
            <dataSource type="POOLED">
                <!-- 配置连接数据库的4个基本信息 -->
                <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>

    <!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
    <mappers>
        <mapper resource="org/codeaction/dao/IUserDao.xml"/>
    </mappers>
</configuration>

三、mappers

mappers用来配置持久层接口映射文件的位置。

3.1、方式1

<mappers>
    <!-- 使用相对于resource路径的位置 -->
    <mapper resource="org/codeaction/dao/IUSerDao.xml" />
</mappers>

3.2、方式2

<mappers>
    <!-- mapper接口路径
          此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
    -->
    <mapper class="org.codeaction.dao.IUserDao" />
</mappers>

3.3、方式3

<mappers>
    <!--注册指定包下的所有mapper接口
          此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
    -->
    <package name="org.codeaction.dao"/>
</mappers>
原文地址:https://www.cnblogs.com/codeaction/p/12902902.html