<?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文件,此后就可以在当前文件中使用${key}的方式访问value
<properties resource="jdbc.properties" />
typeAliases:设置类型别名,即为某个具体的类型设置一个别名
在MyBatis的范围中,就可以使用别名表示一个具体的类型
-->
<typeAliases>
<!--
type:设置需要起别名的类型
alias:设置某个类型的别名
-->
<typeAlias type="" alias="abc"></typeAlias>
若不设置alias,当前的类型拥有默认的别名,即类名且不区分大小写
<!--<typeAlias type=""></typeAlias>
通过包设置类型别名(只写typeAlias,不写alias情况下)
指定包下所有的类型将全部拥有默认的别名
即类名且不区分大小写(建议写成类名)
以后开发中一张表对应一个实体类,对应一个mapper接口,对应一个映射文件,
这样也是比较麻烦的
实体类虽然有很多,但是以后肯定是统一放在同一包下的,
那这个时候就可以将实体类所对应的包设置到package这个标签中
这个时候这个包下面的所有类将全部拥有默认的别名、
即类名不区分大小写(比如用到User的地方可以改了)
<package name=""/>
</typeAliases>
environments:配置连接数据库的环境
属性:
default:设置默认使用的环境的id
<environments default="development">
environment:设置一个具体的连接数据库的环境
属性:
id:设置环境的唯一标识,不能重复
<environment id="development">
transactionManager:设置事务管理器
属性:
type:设置事务管理的方式
type="JDBC|MANAGED"
JDBC:表示使用JDBC中原生的事务管理方式
MANAGED:被管理,例如Spring
<transactionManager type="JDBC"/>
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>
</environment>
<environment id="test">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value=""/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
引入mybatis的映射文件
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
以包的方式引入映射文件,但是必须满足两个条件:
1、mapper接口和映射文件所在的包必须一致
2、mapper接口的名字和映射文件的名字必须一致
-->
<package name=""/>
</mappers>
</configuration>