- settings
这事MyBatis中极为重要的调整设置,他们会改变MyBatis 的运行时行为。
设置参数 | 描述 | 有效值 | 默认值 |
---|---|---|---|
cacheEnable | 该配置影响所有映射器中配置的缓存的安全开关 | true/false | true |
lazyLoadingEnable | 开启时,所有关联的对象都会延时加载,特定的关联关系可以通过设置fetchType 属性来覆盖该项开关的状态 | true/false | false |
aggressiveLazyLoading | 开启时,任何方法的调用都会加载该对象的所有属性,否则每个属性会按需加载(参考lazyLoadTriggerMethods) | ture/false | false(true in<=3.4.1 |
multipleResultSetsEnable | 是否允许单一语句返回多结果集(需兼容驱动) | true/false | true |
useColumnLabel | 使用列标签代替列名。不同的驱动在这方面有不同的表现 | true/false | true |
useGenerateKeys | 允许JDBC 支持自动生成主键,需要驱动兼容。如果设置为true 则这个设置强制使用自动生成主键,一些驱动不兼容仍可正常工作 | true/false | false |
- 别名 typeAliases
类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
</typeAliases>
当这样配置时,Blog 可以用在任何使用 domain.blog.Blog 的地方。
也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean.
<typeAliases>
<package name="domain.blog"/>
</typeAliases>
每一个在包 domain.blog 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它
的别名。 比如 domain.blog.Author 的别名为 author;若有注解,则别名为其注解值。
@Alias("author")
public class Author {
...
}
<resultMap type="org.apache.ibatis.submitted.rounding.User" id="usermap">
<id column="id" property="id"/>
<result col