本教程源码请访问:tutorial_demo
前面我们学习了持久层接口映射文件的配置,接下来我们学习一下主配置文件SqlMapConfig.xml的配置
一、properties
在使用properties标签时,我们可以采用两种方式指定属性配置。
1.1、基本使用
<?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的主配置文件 -->
<configuration>
<properties>
<!--
name:属性名
value:属性值
-->
<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="jdbc.url"
value="jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf8"/>
<property name="jdbc.username" value="root"/>
<property name="jdbc.password" value="123456"/>
</properties>
<!-- 配置环境 -->
<environments default="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!-- 配置事务的类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源连接池-->
<dataSource type="POOLED">
<!--
配置连接数据库的4个基本信息
通过${属性名}的方式获取属性值
-->
<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>
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
<mappers>
<mapper resource="org/codeaction/dao/IUserDao.xml"/>
</mappers>
</configuration>
1.2、引入外部配置文件
1.2.1、在resource下定义db.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
1.2.2、properties标签配置
<?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的主配置文件 -->
<configuration>
<!--
resource属性:用于指定properties配置文件的位置,要求配置文件必须在类路径下
-->
<properties resource="jdbcConfig.properties"></properties>
<!-- 配置环境 -->
<environments default="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!-- 配置事务的类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源连接池-->
<dataSource type="POOLED">
<!-- 配置连接数据库的4个基本信息 -->
<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>
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
<mappers>
<mapper resource="org/codeaction/dao/IUserDao.xml"/>
</mappers>
</configuration>
二、typeAliases
在上一篇文章中讲了MyBatis支持默认别名,我们也可以设置自定义别名。
可以设置单个类型的别名,也可以根据包批量设置别名。
定义别名之后,可以在上一篇中讲到的parameterType和resultType中使用别名。
配置如下:
<?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的主配置文件 -->
<configuration>
<properties resource="jdbcConfig.properties"></properties>
<typeAliases>
<!-- 定义单个别名 -->
<typeAlias alias="user" type="org.codeaction.domain.User" />
<!-- 批量定义别名 -->
<package name="org.codeaction.domain" />
</typeAliases>
<!-- 配置环境 -->
<environments default="mysql">
<!-- 配置mysql的环境 -->
<environment id="mysql">
<!-- 配置事务的类型 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源连接池-->
<dataSource type="POOLED">
<!-- 配置连接数据库的4个基本信息 -->
<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>
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
<mappers>
<mapper resource="org/codeaction/dao/IUserDao.xml"/>
</mappers>
</configuration>
三、mappers
mappers用来配置持久层接口映射文件的位置。
3.1、方式1
<mappers>
<!-- 使用相对于resource路径的位置 -->
<mapper resource="org/codeaction/dao/IUSerDao.xml" />
</mappers>
3.2、方式2
<mappers>
<!-- mapper接口路径
此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
-->
<mapper class="org.codeaction.dao.IUserDao" />
</mappers>
3.3、方式3
<mappers>
<!--注册指定包下的所有mapper接口
此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中
-->
<package name="org.codeaction.dao"/>
</mappers>