Mybatis源码分析(第一章)------配置文件的解析(2)

书接上文

1.4 设置 settings 配置到 Configuration 中

settings 配置设置到 Configuration 对象中的过程源码分析如下:SqlSessionFactoryBean → SqlSessionBuilder → XMLConfigBuilder → settingsElement

 1 private void settingsElement(Properties props) throws Exception {
 2     // 设置 autoMappingBehavior 属性,默认值为 PARTIAL
 3     configuration.setAutoMappingBehavior(AutoMappingBehavior.valueOf(props.getProperty("autoMappingBehavior", "PARTIAL")));
 4     configuration.setAutoMappingUnknownColumnBehavior(AutoMappingUnknownColumnBehavior.valueOf(props.getProperty("autoMappingUnknownColumnBehavior", "NONE")));
 5     // 设置 cacheEnabled 属性,默认值为 true
 6     configuration.setCacheEnabled(booleanValueOf(props.getProperty("cacheEnabled"), true));
 7 
 8     // 省略部分代码
 9 
10     // 解析默认的枚举处理器
11     Class<? extends TypeHandler> typeHandler = (Class<? extends TypeHandler>)resolveClass(props.getProperty("defaultEnumTypeHandler"));
12     // 设置默认枚举处理器
13     configuration.setDefaultEnumTypeHandler(typeHandler);
14     configuration.setCallSettersOnNulls(booleanValueOf(props.getProperty("callSettersOnNulls"), false));
15     configuration.setUseActualParamName(booleanValueOf(props.getProperty("useActualParamName"), true));
16     
17     // 省略部分代码
18 }

猜你喜欢

转载自www.cnblogs.com/Emiyaa/p/11317628.html