1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?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

image

  • 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

    1
    2
    3
    4
    5
    6
    7
    8
    <!--设置连接数据库的驱动-->
    <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

1
2
<!--引入properties文件-->
<properties resource="jdbc.properties" />

image

image

4. typeAliases

  • typeAlias:设置某个类型的别名
  • 属性 :

    • type:设置需要设置别名的类型
    • alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小写
1
2
3
4
5
6
7
8
9
10
11
12
<!--设置类型别名-->
<typeAliases>
<!--
typeAlias:设置某个类型的别名
属性:
type:设置需要设置别名的类型
alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小写
-->
<!--<typeAlias type="com.atguigu.mybatis.pojo.User"></typeAlias>-->
<!--以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写-->
<package name="com.atguigu.mybatis.pojo"/>
</typeAliases>

5. mappers

image

  • mappers : 引入映射文件 , 在 mappers 标签中可以配置多个 SQL 映射文件的路径
  • mapper : 配置某个 sql 映射文件的路径
  • 以包为单位引入映射文件的要求 :

    1. mapper 接口所在的包要和映射文件所在的包一致
    2. mapper 接口要和映射文件的名字一致