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方法一次加载一个映射文件 --> |