目录
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>
<!--
MyBatis核心配置文件中,标签的顺序:
properties?,settings?,typeAliases?,typeHandlers?,
objectFactory?,objectWrapperFactory?,reflectorFactory?,
plugins?,environments?,databaseIdProvider?,mappers?
-->
<!-- 将 properties 资源包引入到核心配置文件中,以便用 ${} 来获取配置数据库的参数 -->
<properties resource="jdbc.properties"></properties>
<settings>
<!--将表中字段的下划线自动转换为驼峰-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!--开启延迟加载-->
<setting name="lazyLoadingEnabled" value="true"/>
</settings>
<typeAliases>
<!--
设置类型别名(别名不区分大小写)
type:设置需要设置别名的类型(需要全类名)
alias:可写可不写,若不写,则默认为其类名(不是全类名)
-->
<!--<typeAlias type="com.zyj.mybatis.pojo.User" alias="User"></typeAlias>-->
<!-- 以包为单位,将包下所有的类型设置默认的类型别名(即类名,且不区分大小写) -->
<package name="com.zyj.mybatis.pojo"/>
</typeAliases>
<!--
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="${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"/>-->
<!--
以包为单位引入映射文件
要求:
1、mapper所在的包要和映射文件所在的包一致
2、mapper要和映射文件的名字一致
-->
<package name="com.zyj.mybatis.mapper"/>
</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>
3、typeAliases 标签设置别名
typeAliases 标签可以用来设置类的别名,在 map 接口对应的映射文件中写 SQL 语句时,若 resultType 所需的全类名较长时,我们可以设置较短的别名
<typeAliases>
<!--
设置类型别名(别名不区分大小写)
type:设置需要设置别名的类型(需要全类名)
alias:可写可不写,若不写,则默认为其类名(不是全类名)
-->
<!--<typeAlias type="com.zyj.mybatis.pojo.User" alias="User"></typeAlias>-->
<!-- 以包为单位,将包下所有的类型设置默认的类型别名(即类名,且不区分大小写) -->
<package name="com.zyj.mybatis.pojo"/>
</typeAliases>
4、mappers 标签
在引入映射文件时,若有多个映射文件,我们可以通过 package 标签将对应目录下的映射文件全部引入。
要求:
1、mapper所在的包要和映射文件所在的包一致
2、mapper要和映射文件的名字一致
① 首先创建映射文件存放的目录(注意:若要一次创建多层目录,目录之间的分隔符不是 ' . ',而是 ' / '),创建的包如下图
② 在核心映射文件中进行配置
<!-- 引入映射文件 -->
<mappers>
<!-- 一个一个引入映射文件 -->
<!--<mapper resource="mappers/UserMapper.xml"/>-->
<!--
以包为单位引入映射文件
要求:
1、mapper所在的包要和映射文件所在的包一致
2、mapper要和映射文件的名字一致
-->
<package name="com.zyj.mybatis.mapper"/>
</mappers>