settings
这些对改变MyBatis运行时的行为都是非常重要的配制。下面的表描述了设置,及其意义和他们的默认值
| mapUndersocreToCameCase | 激活经典的数据库列名A_COLUMN到经典的Java驼峰命名aColumn的转换 | true \ | false | False | |||||
| logImpl | 指定MyBatis应该使用哪个日志实现。如果此设置没有出现,那么会自动发现 | SLF4J \ | LOG4J \ | LOG4J2 \ | JDK_LOGGING \ | COMMONS_LOGGING \ | STDOUT_LOGGING \ | NO_LOGGING | 没有设置 |
| logPrefix | 指定前缀,MyBatis将会添加到日志名字前 | 任何字符串 | 没有设置 | ||||||
| autoMappingBehavior | 指定是否和怎样映射列名到字段。NONE禁止自动映射。PARTIAL将仅会自动映射不是嵌套结果映射。FULL将会自动映射任务复杂的结果(包括嵌套和其它的) | NONE, PARTIAL, FULL | PARTIAL | ||||||
| cacheEnabled | 此配制全局禁用和启用任何mapper文件下的缓存配制 | true, false | true |
typeAliases
一个类型别名仅仅是一个Java类型的简写。它只与XML配制相关,其存在的意义是减少全限定类名的键入。例如:
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
<typeAlias alias="Comment" type="domain.blog.Comment"/>
<typeAlias alias="Post" type="domain.blog.Post"/>
<typeAlias alias="Section" type="domain.blog.Section"/>
<typeAlias alias="Tag" type="domain.blog.Tag"/>
</typeAliases>
使用此配制,Blog可以像domain.blog.Blog一样在任何地方使用。你可以指定一个包名,MyBatis将用此包名搜索bean的。例如:
<typeAliases>
<package name="domain.blog"/>
</typeAliases>
每个在domain.blog中找到的bean,如果没有找到注解,将会使用非大写非全限定类名注册为bean的别名。也就是说domain.blog.Author将会注册为author。如果找到@Alias注解的话,将会使用其值作为别名。看下面的例子
@Alias("author")
public class Author {
...
}
这有许多内置的Java通过类型的别名。注意由于重名对基本类型的特殊处理
| Alias | Mapped Type |
|---|---|
| _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 |
| object | Object |
| map | Map |
| hashmap | HashMap |
| list | List |
| arraylist | ArrayList |
| collection | Collection |
| iterator | Iterator |