设置参数 | 描述 | 有效值 | 默认值 |
---|---|---|---|
cacheEnabled | 所有映射器中配置的缓存全局开关。 | true | false | true |
lazyLoadingEnabled | 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 | true |false | false |
aggressiveLazyLoading | 开启时,任何方法的调用都会加载该对象的所有属性,否则每个属性会按需加载. | true | false | false (true in ≤3.4.1) |
multipleResultSetsEnabled | 对于未知的SQL查询,允许单一语句返回不同的结果集以达到通用的效果。 | true | false | true |
useColumnLabel | 允许使用列标签代替列名 | true | false | true |
useGeneratedKeys | (仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段) | true | false | false |
autoMappingBehavior | 指定 MyBatis 应如何自动映射列到字段或属性。 NONE 表示取消自动映射;PARTIAL 只会自动映射没有定义嵌套结果集映射的结果集。 FULL 会自动映射任意复杂的结果集(无论是否嵌套)。 | NONE, PARTIAL, FULL | PARTIAL |
defaultExecutorType | 配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重复用预处理语句(prepared statements); BATCH 执行器将重复用语句(即多次执行以批量操作)并执行批量更新。 | SIMPLE,REUSE,BATCH | SIMPLE |
defaultStatementTimeout | 设置超时时间,它决定驱动等待数据库响应的秒数。 | 任意正整数 | Not Set (null) |
mapUnderscoreToCamelCase | 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。 | true|false | false |
callSettersOnNulls | 指定当结果集中值为 null 的时候是否调用映射对象的 setter(map 对象时为 put)方法,这对于有 Map.keySet() 依赖或 null 值初始化的时候是有用的。注意基本类型(int、boolean等)是不能设置成 null 的。 | true | false | false |
logImpl | 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。 | SLF4J,LOG4J,LOG4J2,JDK_LOGGING,COMMONS_LOGGING,STDOUT_LOGGING,NO_LOGGING | Not set |
延迟加载:延迟加载(lazy load)是(也称为懒加载)Hibernate3关联关系对象默认的加载方式,所谓延迟加载就是当调用load方法加载对象时,返回代理对象,等到真正用到对象的内容时才发出sql语句,这个对象上的所有属性都是默认值。 有如下程序代码:
User user=(User)session.load(class, id);//直接返回的是代理对象
System.out.println(user.getId());//没有发送sql语句到数据库加载,因为id不用查就知道
user.getName();//创建真实的User实例,并发送sql语句到数据库中
类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。例如:
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
<typeAlias alias="Blog" type="domain.blog.Blog"/>
</typeAliases>
当这样配置时,Blog可以用在任何使用domain.blog.Blog的地方。 当然也可以用注解指定,看下面的例子:
@Alias("author")
public class Author {
...
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。