目录
1、核心配置文件各个标签详解
核心配置文件中的标签必须按照固定的顺序(有的标签可以不写,但顺序一定不能乱):
properties、settings、typeAliases、typeHandlers、objectFactory、objectWrapperFactory、reflectorFactory、plugins、environments、databaseIdProvider、mappers
<?xml version="1.0" encoding="UTF-8" ?>
<!-- MyBatis配置文件中的约束 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--
environments:配置多个连接数据库的环境
default:设置默认使用的环境id,当配置了多个环境时,使用的环境是default对应的环境的id
-->
<environments default="development">
<!--
environment:配置某个具体的环境
id:表示连接数据库的环境的唯一标识,不能重复
-->
<environment id="development">
<!--
transactionManager:设置事务管理方式
type:有两种值,一个是JDBC,还有一个是MANAGED
JDBC:表示当前环境中,执行SQL时,使用的是JDBC中原生的事务管理方式(事务的提交或回滚需要手动处理)
MANAGER:表示被管理,例如spring
-->
<transactionManager type="JDBC"/>
<!--
dataSource:配置数据源
type:设置数据源的类型,有三种值:POOLED、UNPOOLED、JNDI
POOLED:表示数据库连接池缓存数据库连接
UNPOOLED:表示不适用数据库连接池
JNDI:表示使用上下文中的数据源
-->
<dataSource type="POOLED">
<!-- 设置连接数据库的驱动 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!-- 设置连接数据库的连接地址 -->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<!-- 设置连接数据库的用户名 -->
<property name="username" value="root"/>
<!-- 设置连接数据库的密码 -->
<property name="password" value="zyj123"/>
</dataSource>
</environment>
</environments>
<!-- 引入映射文件 -->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>
2、设置连接数据库的参数从properties中读取
① 首先创建资源包,位置如下 src/main/resources/jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=zyj123
② 将 properties 资源包引入到核心配置文件中,在核心配置文件中添加内容:
<!-- 将 properties 资源包引入到核心配置文件中 -->
<properties resource="jdbc.properties"></properties>
③ 将核心配置文件中设置连接数据库的参数改为使用 jdbc.properties 中的键值对
<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>