SqlMapperConfig.xml 配置文件详解

时间:2024-03-21 18:42:01

1.1 配置顺序

顺序

配置标签名称

说明

1

properties

属性

2

settings

配置全局参数

3

typeAliases

类型别名

4

typeHandlers

类型处理器

5

objectFactory

对象工厂

6

plugins

插件

7

environments

环境集合属性对象

8

databaseIdProvider

多数据库支持

9

mappers

映射器

说明:

  1. 在sqlMapConfig.xml中必须是从上往下的配置顺序

1.2 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>

    <!--properties 数据库连接配置-->
    <properties>
        <property name="jdbc.driver" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"></property>
        <property name="jdbc.username" value="root"></property>
        <property name="jdbc.password" value="root"></property>
    </properties>

    <!--数据库环境配置-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="pooled">
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"></property>
                <property name="username" value="root"></property>
                <property name="password" value="root"></property>
            </dataSource>
        </environment>
    </environments>

    <!--2. 加载映射文件-->
    <mappers>
        <mapper resource="com/sunny/dao/IUserDao.xml"></mapper>
    </mappers>
</configuration>

第二步:加载外部的映射文件/properties内部也配置数据库连接参数

SqlMapperConfig.xml 配置文件详解

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8
jdbc.username=root
jdbc.password=root
<?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 数据库连接配置-->
    <!--优先加载jdbc.properties中的配置(以这里的为准)-->
    <properties resource="jdbc.properties">
        <property name="jdbc.driver" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"></property>
        <property name="jdbc.username" value="root"></property>
        <property name="jdbc.password" value="root"></property>
    </properties>

    <!--数据库环境配置-->
    <environments default="mysql">
        <environment id="mysql">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="pooled">
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"></property>
                <property name="username" value="root"></property>
                <property name="password" value="root"></property>
            </dataSource>
        </environment>
    </environments>

    <!--2. 加载映射文件-->
    <mappers>
        <mapper resource="com/sunny/dao/IUserDao.xml"></mapper>
    </mappers>
</configuration>

 第三步:加载外部的映射文件(resource/url)

SqlMapperConfig.xml 配置文件详解


 2.1 typeAliases标签

  • 表示指定别名,简化配置

 typeAliases用于起别名字
        typeAlias起别名配置,给一个一个类的起别名(不推荐)
            type:设置指定类型全名
            alias:别名,在映射配置文件中类型只需要使用这个别名,不区分大小写
        package,批量给要给包名下所有类起别名,会自动将包下类名作为别名,不区分大小写(推荐) 

 <!--指定别名,简化配置-->
    <typeAliases>
        <!--<typeAlias type="com.sunny.entity.User" alias="user"></typeAlias>-->
        <package name="com.sunny.entity"></package>
    </typeAliases>

3.1 mapper标签

<!--2. 加载映射文件-->
    <mappers>
        <!--映射com/sunny/dao/IUserDao.xml接口实现配置文件-->
        <!--<mapper resource="com/sunny/dao/IUserDao.xml"></mapper>一个一个映射文件加载,不推荐-->
        <!--<mapper resource="com/sunny/dao/IUserDao.xml"></mapper>-->
        <package name="com.sunny.dao"></package><!--批量加载,推荐使用-->
    </mappers>

4.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">
<configuration>

    <!--
        properties设置配置数据的
            属性
                resource:引用本项目类路径下的properties文件数据'
                url:引用本项目外部properties文件数据,可以访问网络上的
            子标签
                property:配置内部properties数据
            外部和内部可以一起使用,优先使用外部
    -->
    <properties resource="jdbc.properties" >
        <!--数据库连接字符串-->
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8"></property>
        <!--username数据库用户名-->
        <property name="jdbc.username" value="root"></property>
        <!--password数据库密码-->
        <property name="jdbc.password" value="root"></property>
    </properties>

    <!--
        typeAliases用于起别名字
            typeAlias起别名配置,给一个一个类的起别名(比推荐)
                type:设置指定类型全名
                alias:别名,在映射配置文件中类型只需要使用这个别名,不区分大小写
            package,批量给要给包名下所有类起别名,会自动将包下类名作为别名,不区分大小写(推荐)
    -->
    <typeAliases>
        <!--<typeAlias type="com.sunny.entity.User" alias="user"></typeAlias>-->
        <package name="com.sunny.entity"></package>
    </typeAliases>

    <!--environments配置环境数据库使用哪个连接-->
    <environments default="mysql">
        <!--配置具体连接到哪一个数据库-->
        <environment id="mysql">
            <!--transactionManager,配置事物控制类型为JDBC-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据库连接池
                        POOLED,mybatis内置的数据库连接池(推荐使用)
                        UNPOOLED,不使用连接池
                        JNDI,使用服务器tomcat容器的数据库连接池
            -->
            <dataSource type="POOLED">
                <!--mysql驱动类-->
                <property name="driver" value="${jdbc.driver}"></property>
                <!--数据库连接字符串-->
                <property name="url" value="${jdbc.url}"></property>
                <!--username数据库用户名-->
                <property name="username" value="${jdbc.username}"></property>
                <!--password数据库密码-->
                <property name="password" value="${jdbc.password}"></property>
            </dataSource>
        </environment>

    </environments>

    <!--关联接口映射配置文件-->
    <mappers>
        <!--映射com/sunny/dao/IUserDao.xml接口实现配置文件-->
       <!-- <mapper resource="com/sunny/dao/IUserDao.xml"></mapper>一个一个映射文件加载,不推荐-->
        <!--将这个包名下所有映射文件自动加载-->
        <package name="com.sunny.dao"></package><!--批量加载,推荐使用-->
    </mappers>
</configuration>