Mybatis核心配置文件参数详解
Mybatis配置文件详解
<?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>
<!-- MyBatis核心配置文件,标签的顺序
properties?,settings?,typeAliases?,typeHandlers?,
objectFactory?,objectWrapperFactory?,reflectorFactory?,
plugins?,environments?,databaseIdProvider?,mappers?-->
<properties resource="jdbc.properties"></properties>
<!-- 设置类型别名,大小写不敏感。
如果不设置alias,则默认为类名(大小写不敏感)-->
<typeAliases>
<!--
typeAlias: 设置某个类型的别名
属性:
type 设置需要设置别名的类型
alias 设置某个类型的别名,如果不设置该属性,那么该类型拥有默认的类名,且不区分大小写
-->
<typeAlias type="com.atguigu.mybatis.pojo.User" alias="User"></typeAlias>
<!-- 以包为单位,将包下所有的类型设置默认的类型别名且不区分大小写-->
<package name="com.atguigu.mybatis.pojo"/>
</typeAliases>
<!--设置连接数据库的环境--> <environments default="development">
<!--每一个environment都是具体连接数据库的环境-->
<!--
一个项目中只会用一个环境,default用于使用默认使用的环境:
id:表示连接数据库的环境的唯一标识 不能重复
-->
<environment id="development">
<!--
transactionmanager:设置事务管理方式
属性:
type="JDBC/MANAGED"
JDBC: 在当前环境中,执行sql时,使用的时jdbc原声的事务管理方式,需要手动的提交和回滚事务
MANAGED:被管理,例如Spring
-->
<transactionManager type="JDBC"/>
<!-- dataSource:配置数据源
属性"
type:设置数据源的类型
type=""
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"/>-->
<!-- BindingException: Type interface com.atguigu.mybatis.mapper.UserMapper is not known to the MapperRegistry.
没有成功建立映射关系
以包为单位引入映射文件,要求:
1。 mapper接口所在的包要和映射文件所在的包一致
2。 mapper接口要和映射文件的名字一致-->
<!-- com.atguigu.mybatis.mapper创建包时要用/分隔,这样才是目录,否则这整一个就只是文件夹名字而已-->
<package name="com.atguigu.mybatis.mapper"/>
</mappers>
</configuration>
1、environment:设置数据库环境
①、<environments/>用于设置连接数据库的环境
②丶可以有很多个<environments/>,但只有其中一个作为项目的数据库链接,这个链接的的id需要写在<environments/>的default参数当中。
<!--设置连接数据库的环境-->
<environments default="development">
<!--每一个environment都是具体连接数据库的环境-->
<!--
一个项目中只会用一个环境,default用于使用默认使用的环境:
id:表示连接数据库的环境的唯一标识 不能重复
-->
<environment id="development">
2、transactionManager:设置事务管理方式
属性:type = JDBC/MANGED
JDBC: 在当前环境中,执行sql时,使用的是jdbc原生的事务管理方式,需要手动的提交和回滚事务
MANAGED:被管理,例如Spring
<transactionManager type="JDBC"/>
3、${} + properties:动态写入信息
①、新建一个jdbc.perproties配置文件,以字符串的形式定义各个属性,每个属性最好有意义的标识前缀例如jdbc.xxx
②、在mybatis-config.xml文件中,添加<properties>元素,将资源文件引入配置文件。
<properties resource="jdbc.properties"></properties>
③、在dataSource中,使用${xxx}格式,引入对应的属性
<!-- dataSource:配置数据源
属性"
type:设置数据源的类型
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>
4、typeAlias/package:设置某个类型的别名
typeAlias属性:
type: 设置需要设置别名的类型
alias: 设置某个类型的别名,如果不设置该属性,那么该类型拥有默认的类名,且不区分大小写
<typeAliases>
<typeAlias type="com.cdl.mybatis.pojo.User" alias="User"></typeAlias>
</typeAliases
即为User作为com.cdl.mybatis.pojo.User的别名,可以在mapper的配置文件当中直接使用User来代表这个类
也可以使用<package>来表示,以该包为单位,将包下所有的类型设置默认的类型别名且不区分大小写。
<typeAliases>
<!-- 以包为单位,将包下所有的类型设置默认的类型别名且不区分大小写-->
<package name="com.atguigu.mybatis.pojo"/>
</typeAliases>
5、mappers:引入映射文件
以包为单位引入映射文件,要求:
mapper接口所在的包要和映射文件所在的包一致
mapper接口要和映射文件的名字一致
<!--引入映射文件-->
<mappers>
<!-- <mapper resource="mappers/UserMapper.xml"/>-->
<package name="com.atguigu.mybatis.mapper"/>
</mappers>
以类为单位引入配置文件
<mappers>
<mapper resource="mapper/UserMapper.xml"></mapper>
</mappers>

浙公网安备 33010602011771号