ssm学习笔记23001-mybatis-config.xml配置详解
mybatis-config.xml是mybatis的配置文件,具体的一些标签和属性如下:
需要注意的是
1、配置项是有顺序要求的
2、简写的配置有要求:例如类型别名,如果要简写,需要省掉alias属性,
mapper的配置,mapper接口的包名要和映射文件的包路径一致。
<?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">
<!-- mybatis 的核心配置文件 -->
<!--
MyBatis核心配置文件中的标签必须要按照指定的顺序配置:
properties?,settings?,typeAliases?,typeHandlers?,
objectFactory?,objectWrapperFactory?,reflectorFactory?,
plugins?,environments?,databaseIdProvider?,mappers?
-->
<configuration>
<!-- 引入properties文件,此后就可以在当前文件中使用${key}的方式访问value -->
<properties resource="jdbc.properties"/>
<settings>
<!-- 自动将下划线 映射为驼峰 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- 来设置类型别名,为某个具体的类型来设置一个别名,在MyBatis的范围中,就可以使用别名表示一个具体的类型-->
<typeAliases>
<!-- 1、type: 设置需要起别名的类型
alias: 设置某个类型的别名
-->
<!-- <typeAlias type="com.wjw.mybatis.pojo.User" alias="abc"></typeAlias>-->
<!--
2、只写type,不写alias,就会自动设置默认别名为类名,且不区分大小写
-->
<!--<typeAlias type="com.wjw.mybatis.pojo.User"></typeAlias>-->
<!--
3、以包的形式来设置别名,这个包所有的类都有默认的别名
-->
<package name=""/>
</typeAliases>
<!-- environments 配置连接数据库的环境
属性:
default: 设置默认使用的环境的id
-->
<environments default="test">
<!--
environment: 设置一个具体的连接数据库的环境
属性:
id: 设置环境的唯一标识,不能重复
-->
<environment id="test">
<!--
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>
</environments>
<!-- 引入mybatis的映射文件-->
<mappers>
<mapper resource="UserMapper.xml"></mapper>
<!--以包的形式来引入映射文件,但是必须满足两个条件:
1、mapper接口和映射文件所在的包必须一致 创建配置文件的目录,必须用/分割,因为创建的是目录。目录要用/分割。
2、mapper接口的名字和映射文件的名字必须一致
编译之后,java主程序和resources会在同一目录。
-->
<!-- <package name=""/>-->
</mappers>
</configuration>