3. 核心配置文件详解

2023-12-01 08:41:09 浏览数 (1)

代码语言:javascript复制
<?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="jdbc.properties">

    </properties>

    <typeAliases>
        <package name="com.north.mybatis.pojo"/>
    </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.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--引入映射文件-->
    <mappers>
        <!--        <mapper resource="mappers/UserMapper.xml"></mapper>-->
        <package name="com.north.mybatis.mapper"/>
    </mappers>
</configuration>

1. configuration

configuration : 根标签 , 表示配置信息

2. environments

​​

​​

  • environments : 配置多个连接数据库的环境 , 以 "s" 结尾表示复数 , 也就是说 mybatis 的环境可以配置多个数据源
  • default 属性 : 表示默认使用的环境 , default 后面填写的是**environment ​**的 id , ​**default的值只需要和environment的id值一致即可**
  • environment : 配置具体的环境(**主要包括 : 事务管理器的配置 数据源的配置**)
    • id:表示连接数据库的环境的唯一标识,不能重复 , 该表示用在 environments 的 default 后面 ,用来指定默认环境的选择

  • transactionManager : 配置事务管理器
    • type 属性:指定事务管理器具体使用什么方式,可选值包括两个
      • JDBC:使用 JDBC 原生的事务管理机制。底层原理:事务开启 conn.setAutoCommit(false); ...处理业务...事务提交 conn.commit(); 执行 SQL 时,使用的是 JDBC 中原生的事务管理方式,事务的提交或回滚需要手动处理
      • MANAGED:交给其它容器来管理事务,比如 WebLogic、JBOSS 等。如果没有管理事务的容器,则没有事务。没有事务的含义:只要执行一条 DML 语句,则提交一次。
  • dataSource : 指定数据源
    • type : 设置数据源的类型 (**type="POOLED|UNPOOLED|JNDI"**)
      • POOLED:表示使用数据库连接池缓存数据库连接
      • UNPOOLED:表示不使用数据库连接池
      • JNDI:表示使用上下文中的数据源

property

代码语言:javascript复制
<!--设置连接数据库的驱动-->
<property name="driver" value="${jdbc.driver}"/>
<!--设置连接数据库的连接地址-->
<property name="url" value="${jdbc.url}"/>
<!--设置连接数据库的用户名-->
<property name="username" value="${jdbc.username}"/>
<!--设置连接数据库的密码-->
<property name="password" value="${jdbc.password}"/>

3. properties

代码语言:javascript复制
	<!--引入properties文件-->
	<properties resource="jdbc.properties" />

4. typeAliases

  • typeAlias:设置某个类型的别名
  • 属性 :
    • type:设置需要设置别名的类型
    • alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小写
代码语言:javascript复制
<!--设置类型别名-->
<typeAliases>
<!--
typeAlias:设置某个类型的别名
属性:
type:设置需要设置别名的类型
alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小写
-->
<!--<typeAlias type="com.atguigu.mybatis.pojo.User"></typeAlias>-->
<!--以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写-->
	<package name="com.atguigu.mybatis.pojo"/>
</typeAliases>

5. mappers

  • mappers : 引入映射文件 , 在 mappers 标签中可以配置多个 SQL 映射文件的路径
  • mapper : 配置某个 sql 映射文件的路径
  • 以包为单位引入映射文件的要求 :
    1. mapper 接口所在的包要和映射文件所在的包一致
    2. mapper 接口要和映射文件的名字一致

0 人点赞