成员变量名称和以上配置文件的 name 属性一一对应。
3.3.2.2 对应 XML 节点:<settings> <settings> <setting value="LOG4J"/> ... </settings>在 XML 文件中, <settings>节点内其实有很多 <setting> 节点, 但是他们都有默认值, 因此一般情况下, 我们只需要配置一些我们需要改变的配置即可。
一个配置完整的 settings 元素的示例如下:
<settings> <!--允许在嵌套语句中使用分页(RowBounds)。如果允许使用则设置为false。--> <setting value="false"/> <!--允许在嵌套语句中使用分页(ResultHandler)。如果允许使用则设置为false。--> <setting value="true"/> <!--是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。 --> <setting value="false"/> <!--当开启时,任何方法的调用都会加载该对象的所有属性。否则,每个属性会按需加载(参考lazyLoadTriggerMethods). (true in ≤3.4.1) --> <setting value="false"/> <!--是否允许单一语句返回多结果集(需要兼容驱动)。--> <setting value="true"/> <!--允许 JDBC 支持自动生成主键,需要驱动兼容。 如果设置为 true 则这个设置强制使用自动生成主键,尽管一些驱动不能兼容但仍可正常工作(比如 Derby)。--> <setting value="false"/> <!--使用列标签代替列名。不同的驱动在这方面会有不同的表现, 具体可参考相关驱动文档或通过测试这两种不同的模式来观察所用驱动的结果。--> <setting value="true"/> <!--全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存。 --> <setting value="true"/> <!--指定当结果集中值为 null 的时候是否调用映射对象的 setter(map 对象时为 put)方法,这对于有 Map.keySet() 依赖或 null 值初始化的时候是有用的。注意基本类型(int、boolean等)是不能设置成 null 的。--> <setting value="false"/> <!--允许使用方法签名中的名称作为语句参数名称。 为了使用该特性,你的工程必须采用Java 8编译,并且加上-parameters选项。(从3.4.1开始)--> <setting value="true"/> <!--当返回行的所有列都是空时,MyBatis默认返回null。 当开启这个设置时,MyBatis会返回一个空实例。 请注意,它也适用于嵌套的结果集 (i.e. collectioin and association)。(从3.4.2开始) --> <setting value="false"/> <!--增加到日志名称的前缀, 默认没有--> <setting value=""/> <!--日志的实现类型, 默认未指定, 未指定时将自动查找--> <setting value=""/> <!--指定VFS的实现, 默认未指定--> <setting value=""/> <!--默认值为 SESSION,这种情况下会缓存一个会话中执行的所有查询。 若设置值为 STATEMENT,本地会话仅用在语句执行上,对相同 SqlSession 的不同调用将不会共享数据。 --> <setting value="SESSION"/> <!--当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型--> <setting value="OTHER"/> <!-- 指定哪个对象的方法触发一次延迟加载。--> <setting value="equals,clone,hashCode,toString"/> <!--设置超时时间,它决定驱动等待数据库响应的秒数。--> <setting value="25"/> <!--为驱动的结果集获取数量(fetchSize)设置一个提示值。此参数只可以在查询设置中被覆盖。 --> <setting value="100"/> <!--配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(prepared statements); BATCH 执行器将重用语句并执行批量更新。--> <setting value="SIMPLE"/> <!--指定 MyBatis 应如何自动映射列到字段或属性--> <setting value="PARTIAL"/> <!--指定发现自动映射目标未知列(或者未知属性类型)的行为--> <setting value="WARNING"/> <!--延迟加载的全局开关--> <setting value="false"/> <!--指定 Mybatis 创建具有延迟加载能力的对象所用到的代理工具--> <setting value="JAVASSIST"/> <!--指定一个提供Configuration实例的类--> <setting value=""/> </settings>更具体的内容, 参见
3.3.2.3 作用