<?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="jdbc.properties"/>
<typeAliases>
<package name="com.yiqiyong.domain" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.test.mapper.UserMapper"/>
</mappers>
</configuration>
第1行:声明
xml文件声明,声明这是一个xml文件,version代表版本,encoding代表字符集编码
第2-4行:约束文件
这份xml文件的dtd约束,采用的是官网提供的网络dtd,将第4行代码复制到浏览器控制台会下载一个dtd文件,里面对MyBatis核心配置类里允许使用的标签做了声明。
第5行以及第24行:<configuration></configuration>
代表配置正式开始,从第五行代码开始一直到最后一行代码</configuration>结束,中间所有的代码都是MyBatis核心配置。
第6行:<properties/>标签
<properties resource="jdbc.properties"/>
代表引入配置文件信息
resource:引入类路径下的资源,即classpath,此处引入的是数据库的配置信息
url:引入网络路径或磁盘路径下的资源
第7行到第9行:<typeAliases></typeAliases>标签
作用:配置别名
将全限定名简写,引用的时候直接引用别名,从而让配置文件看起来不那么臃肿
<package name="">包配置
扫描package包下的所有类,项目中使用,添加了包之后,类名或类名首字母小写就是别名
<typeAlias type="" alias="" />
type指向某一个类,alias就是为该类配置别名,单个配置:测试时使用
第10行以及第20行<environments></environments>标签
作用:配置环境变量
在该标签下可以配置多个<environment>,每一个<environment>都代表一种数据库环境
必要属性:default=""
这个default代表当前项目使用的是哪个具体的环境,里面传入的值是<environment>的id
第11行以及第19行<environment></environment>标签
作用:配置具体的数据库环境
必要属性:id=""
如果不配置id属性的话,那么<environments>无法根据default属性来使用该项配置
第12行<transactionManager/>标签
作用:
事务管理器,用来配置当前数据库的事务驱动,这里使用的是JDBC的事务
第13行以及第18行<dataSource></dataSource>标签
作用:
数据源/连接池,这里的连接池类型type叫POOLED,这个是Mybatis自己开发的连接池。也可以使用其他的连接池,比如德鲁伊、Hikari等连接池,如果使用其他连接池的话都需要在此标签下配置
第14行到第17行<property></property>标签
作用:
配置连接数据库的四大金刚,驱动信息,数据库信息,用户账号,用户密码
第21行到第23行<mappers></mappers>
作用:
扫描映射文件,如果是文件则mapper里的属性是resource=""则输入配置文件全限定名,如果是class=""则输入映射接口的全限定名,这两种配置方式分别代表使用文件配置映射以及使用注解配置映射