【MyBatis】学习笔记03:配置文件进一步解读(非常重要)
核心配置文件
<?xml version="1.0" encoding="UTF-8" ?><!--XML文件声明,版本号,编码-->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"><!--该XML文件约束是dtd文件规则,和Spring中的约束不一样,但是功能一样-->
<configuration><!--跟标签-->
<!--
environments配置多个连接数据库的环境
属性 default :设置默认使用的环境的id
-->
<environments default="development">
<!-- environment 配置某个具体的数据库环境 属性id表示 连接数据库环境的唯一标识,不能重复-->
<environment id="development"><!--在该标签内设置具体环境-->
<!-- 事务管理器 transactionManager 类型为JDBC-->
<transactionManager type="JDBC"/><!--事务管理方式为JDBC-->
<!-- dataSource:数据源 | POOLED:数据库连接池-->
<dataSource type="POOLED">
<!-- 驱动名称--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- 数据库地址--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="url" value="jdbc:mysql://mllt.vip:3306/xrilang"/>
<!-- 数据库用户名--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="username" value="mllt9920"/>
<!-- 数据库密码--><!--欢迎关注哔哩哔哩 萌狼蓝天-->
<property name="password" value="123456"/>
</dataSource>
</environment>
<!-- 配置第二个数据环境-->
<environment id="test">
<!--
transactionManager用来设置事务管理方式
属性 type 值有 JDBC或者MANAGED
JDBC:表示当前环境中,使用的是JDBC中原生的事务管理局方式,事务的提交和回滚需要手动处理
MANAGED:表示被管理,例如被Spring管理
-->
<transactionManager type="JDBC"/>
<!--
dataSource:配置数据源
属性 type 设置数据源类型 值有以下三种
POOLED:表示使用数据库连接池缓存数据库连接池缓存数据库连接
UNPOOLED:表示不使用数据连接池
JNDI:表示使用上下文的数据源
-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://loaclhost:3306/xrilang"/>
<property name="username" value="mllt9920"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--引入映射文件-->
<mappers>
<mapper resource="mappers/UsersMapper.xml"/>
</mappers>
</configuration>
properties
resources bundle 资源绑定
将properties文件引入到核心文件
typeAliases:设置类型别名
注意
核心配置文件中标签较多时,要遵循一定的顺序
The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".
设置类型别名
注意:类型别名不区分大小写
mappers
以包为单位引入
注意是斜线,而不是点
注意,此时运行会发生错误,那么,为什么会发生错误呢,你可以先去运行测试下看看报错信息
以包为单位引入映射文件
要求:
1.mapper接口所在的包要和映射文件所在的包一致
2.mapper接口要和映射文件名字一致
此次再运行测试,就不会有问题了
版 权 声 明