properties标签:用来导入外部的配置文件,动态的配置参数
<properties resource="配置文件路径">
<property name="org.apache.ibatis.parsing.PropertyParser.enable-default-value" value="true"/> <!--允许使用默认值-->
<property name = "name" , value = "admin" /> <!-- 写死的固定值,并不从配置文件导入-->
<property name = "pwd" , value = "${pwd}" /> <!-- 从配置文件中导入值-->
<property name = "sex",value = "${sex:man}"/><!-- 如果sex属性不存在默认为man-->
</properties>
settings标签:用来设定一些mybatis属性。
<settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="autoMappingBehavior" value="PARTIAL"/> <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25"/> <setting name="defaultFetchSize" value="100"/> <setting name="safeRowBoundsEnabled" value="false"/> <setting name="mapUnderscoreToCamelCase" value="false"/> <setting name="localCacheScope" value="SESSION"/> <setting name="jdbcTypeForNull" value="OTHER"/> <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> </settings>
cacheEnabled 开启二级缓存。Mapper级别,针对每一个Mapper都有对应的cache
lazyLoadingEnabled 开启延迟加载。
multipleResultSetsEnabled 允许一条语句返回多结果集
useColumnLabel 使用列标签代替列名
useGeneratedKeys 允许 JDBC 支持自动生成主键
autoMappingBehavior 指定 MyBatis 应如何自动映射列到字段或属性。 NONE 表示取消自动映射;PARTIAL 只会自动映射没有定义嵌套结果集映射的结果集。 FULL 会自动映射任意复杂的结果集(无论是否嵌套)。
autoMappingUnknownColumnBehavior 指定发现自动映射目标未知列(或者未知属性类型)的行为。NONE: 不做任何反应。WARNING: 输出提醒日志 FAILING: 映射失败 (抛出 SqlSessionException)
defaultExecutorType 配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(prepared statements); BATCH 执行器将重用语句并执行批量更新。
defaultStatementTimeout 设置超时时间,它决定驱动等待数据库响应的秒数。