SqlMapConfig.xml中配置的内容和顺序:
- properties(属性)
- settings(全局配置参数)
- typeAliases(类型别名)
- objectFactory(对象工厂)
- plugins(插件)
- environments(环境集合属性对象)
- environment(环境属性对象)
- transactionManager(事务管理)
- dataSource(数据源)
- environment(环境属性对象)
- mappers(映射器)
properties(属性)
将数据库连接参数单独配置在db.properties中,可以避免xml硬编码,方便以后更改以及其他文件使用。1
2
3
4jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:////mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123
在sqlMapConfig.xml中加载属性文件:1
2
3
4<properties resource="db.properties">
<!--properties中还可以配置一些属性名和属性值 -->
<!-- <property name="jdbc.driver" value=""/> -->
</properties>
Mybatis加载资源属性顺序:(后面加载的会覆盖前面)
- 在properties元素体内定义的属性
- properties元素中resource或url加载的属性
- parameterType传递的属性
settings(全局参数配置)
Mybatis框架运行时的一些参数。比如:二级缓存、延迟加载等
官方文档:mybatis-settings
typeAliases(类型别名)
parameterType 指定输入参数的类型
resultType 指定输出参数的映射类型
每次都要输入全名路径太过于麻烦,类型别名简化1
2
3
4
5
6
7
8
9
10
11
12
13
14<!-- 别名定义 -->
<typeAliases>
<!-- 针对单个别名定义
type:类型的路径
alias:别名
-->
<!-- <typeAlias type="Pojo.User" alias="user"/> -->
<!-- 批量别名定义
指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以)
-->
<package name="Pojo"/>
</typeAliases>
具体参考官网文档:typeAliases
Mybatis默认支持的别名
别名 | 映射的类型 |
---|---|
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
string | String |
byte | Byte |
long | Long |
short | Short |
int | Integer |
integer | Integer |
double | Double |
float | Float |
boolean | Boolean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
typeHandlers(类型处理器)
mybatis中通过typeHandlers完成jdbc类型和java类型的转换。
参考:typeHandlers
mappers(映射配置)
1 | <!--通过resource方法一次加载一个映射文件 --> |