Mybatis原生 - 核心配置文件详解 mybatis-config.xml


前言

提示:本文针对的是Mybatis原生的:核心配置文件;当然如果使用的是整合型的项目,有些地方不能完全适应

例如:

  • 如果使用 Spring 整合 Mybatis 可能有些许不同,但是都能在下面看到一些整合型配置文件的影子
  • 如果使用 SpringBoot 整合 Mybatis 可能更加简略,我们只需要导入整合型的依赖,并进行简单的配置即可

Mybatis配置官网说明:Mybatis配置


一、mybatis-config.xml模板

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <properties resource=""></properties>
    
    <typeAliases>
        <typeAlias type=""></typeAlias>
    </typeAliases>
    
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value=""/>
                <property name="url" value=""/>
                <property name="username" value=""/>
                <property name="password" value=""/>
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <mapper resource=""/>
    </mappers>
</configuration>

二、mybatis-config.xml详解

<?xml version="1.0" encoding="UTF-8" ?><!-- xml声明-->
<!-- 约束 规定了根标签为 configuration 和 约束文件 xxx.dtd -->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 根标签 -->
<configuration>

    <!--
        properties: 引入properties文件:
          属性:
            resource:设置要引入的properties文件路径
    -->
    <properties resource="db.properties"></properties>

    <!--
        typeAliases: 设置类型别名
            设置别名我们提供了两种方式:
                typeAlias:以类为单位设置(一个) - 不常用
                package:以包为单位设置(多个) - 常用
    -->
    <typeAliases>
        <!--
            typeAlias
              属性:
                 type: 设置需要设置别名的类型
                 alias: 设置某个类型的别名,若不设置该属性,那么该类型拥有一个默认的别名(即类名别不区分大小写)
        -->
        <typeAlias type="com.cy.mybatis.pojo.entity.User" alias="User"></typeAlias>
        <!--
            package:
                name: 设置别名的类所在的包路径(全限定名)
                设置别名我们也提供一种其他的方式,可以将一个包路径下的所有类设置别名,我们通常使用的是这种方式,默认类包下类的类名
        -->
<!--        <package name="com.cy.mybatis.pojo.entity"/>-->
    </typeAliases>

    <!--
      environments:配置多个连接数据库的环境
        属性:
          default:设置默认使用的环境的id
    -->
    <environments default="development">
        <!--
           environment:配置某个具体的环境
             属性:
                id:表示连接数据库的环境的唯一标识,不能重复
        -->
        <environment id="development">
            <!--
               transactionManager:设置事务管理方式
                属性:
                  type="JDBC|MANAGED"
                    JDBC:表示当前环境中,执行SQL时,使用的是JDBC中原生的事务管理方式,事务的提交或者回滚需要手动去处理
                    MANAGED:被管理,比如Spring
            -->
            <transactionManager type="JDBC"/>
            <!--
                dataSource: 配置数据源
                  属性:
                    type: 设置数据源类型
                      type="POOLED|UNPOOLED|JNDI"
                        POOLED: 使用数据库连接池缓存数据库连接
                        UNPOOLED: 表示不使用数据库连接池
                        JNDI: 表示使用上下文中的数据源
                 如果以后使用Spring整合Mybatis,这里就不需要设置数据源了,由Spring去管理
            -->
            <dataSource type="POOLED">
                <!--设置链接数据库的连接驱动-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--设置链接数据库的连接地址-->
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <!--设置链接数据库的用户名-->
                <property name="username" value="root"/>
                <!--设置链接数据库的密码-->
                <property name="password" value="root"/>
            </dataSource>
        </environment>
      <environment id="test">
        <transactionManager type="JDBC"/>
        <dataSource type="POOLED">
          <!--引入properties中文件的属性,${xxx}中的xxx为对应的键,这样就能获取对应键的值-->
          <property name="driver" value="${db.driver}"/>
          <property name="url" value="${db.url}"/>
          <property name="username" value="${db.username}"/>
          <property name="password" value="${db.password}"/>
        </dataSource>
      </environment>
    </environments>

    <!--引入映射文件-->
    <mappers>
        <!--
            mapper: 以xml文件为单位引入映射的一种方式
        -->
        <mapper resource="mappers/UserMapper.xml"/>
        <!--
            package: 以包为单位引入映射文件
            要求:
                1)mapper接口所在的包要和映射文件所在包一致
                2)mapper接口要和映射文件的名字一致
        -->
<!--        <package name="com.cy.mybatis.mapper"/>-->
    </mappers>
</configuration>

三、db.properties

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybatis
db.username=root
db.password=root

四、XXXMapper.xml 映射文件模板

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace:绑定/映射的对应接口的全路径名 -->
<mapper namespace="xx.xx.xx.DemoMapper">

</mapper>

猜你喜欢

转载自blog.csdn.net/weixin_46030002/article/details/127528225