上篇文章中学会了如何快速搭建mybatis, 并且让其运行起来。这次学习下mybatis的配置文件。。。也就是上次项目结构中的mybatis-config.xml。
mybatis-config.xml是mybatis可以正常运行的核心文件,其中包括数据库连接和事务管理器等配置。配置结构图如下:
- configuration 配置
- properties 属性
- settings 设置
- typeAliases 类型别名
- typeHandlers 类型处理器
- objectFactory 对象工厂
- plugins 插件
- environments 环境
- environment 环境变量
- transactionManager 事务管理器
- dataSource 数据源
- databaseIdProvider 数据库厂商标识
- mappers 映射器
注意:这些配置的先后顺序不能随意颠倒,否则,项目启动会报错
下面就分析在上篇文章中使用到的标签。。。
<?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>
<!-- properties -->
<properties resource="application.properties"></properties>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" /><!-- 自动转驼峰 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<!-- typeAliases -->
<typeAliases>
<package name="com.mybatis.bean"/>
</typeAliases>
<!-- environments -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC">
<property name="autoCommit" value="true"/>
</transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${dev.driver}" />
<property name="url" value="${dev.url}" />
<property name="username" value="${dev.username}" />
<property name="password" value="${dev.password}" />
</dataSource>
</environment>
</environments>
<!-- mapper -->
<mappers>
<!-- 映射器方式一 : xml dao 同时存在-->
<mapper resource="com/mybatis/mapper/usersMapper.xml" />
</mappers>
</configuration>
1、properties标签
<!-- properties -->
<properties resource="application.properties"></properties>
结合application.properties中的内容就可以大致猜到,此标签的作用就是加载类路径下properties文件中配置的各种属性值,以便于在整个配置文件中被使用,当然使用的方式就是通过${propertiesName}来引用对应属性名字的值。
其实亦可通过 properties 元素的子元素来传递属性名和属性值,只不过这种方式不常用。
2、settings
<settings>
<!-- 数据库字段自动映射为驼峰(如user_id <===> userId) -->
<setting name="mapUnderscoreToCamelCase" value="true" />
<!--日志记录,当然需要引入日志jar包-->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
settings的配置会影响到mybatis的运行方式,这里先介绍这两种,后续用到的话,会陆续更新。
3、typeAliases
<!-- typeAliases -->
<!--为全限定类名起别名-->
<!--com.mybatis.bean.Users,如下配置后,默认可以简写为 Users-->
<!--配置的包名对其子包依然生效-->
<!--com.mybatis.bean.vo.VUsersRoles <===> VUsersRoles-->
<typeAliases>
<package name="com.mybatis.bean"/>
</typeAliases>
对于别名,我们也可以在pojo类加上注解@Alias("为当前pojo类起的别名")
4、environments
<!-- environments -->
<environments default="development">
<!--这里可以配置多个environment,只要配置默认加载哪个environment就可以了-->
<environment id="development">
<transactionManager type="JDBC">
<property name="autoCommit" value="true"/>
</transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${dev.driver}" />
<property name="url" value="${dev.url}" />
<property name="username" value="${dev.username}" />
<property name="password" value="${dev.password}" />
</dataSource>
</environment>
</environments>
配置数据库环境的连接及事务管理器
5、mappers
<!-- mapper -->
<mappers>
<!-- 映射器方式一 : xml dao 同时存在-->
<mapper resource="com/mybatis/mapper/usersMapper.xml" />
</mappers>
配置mapper.xml的路径