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 |