Mybatis源码分析(05.配置)

  
  

Mybatis的配置类

     
 <代码>公共类配置{//环境
  保护环境环境;//- - - - - - - - - - & lt; settings>节点- - - - - - -
  保护布尔safeRowBoundsEnabled=false;
  保护布尔safeResultHandlerEnabled=true;
  保护布尔mapUnderscoreToCamelCase=false;
  保护布尔aggressiveLazyLoading=true;
  保护布尔multipleResultSetsEnabled=true;
  保护布尔useGeneratedKeys=false;
  保护布尔useColumnLabel=true;//默认启用缓存
  保护布尔cacheEnabled=true;
  保护布尔callSettersOnNulls=false;
  
  保护字符串logPrefix;
  保护类& lt; ?Log>延伸;logImpl;
  保护LocalCacheScope LocalCacheScope=LocalCacheScope.SESSION;
  保护JdbcType jdbcTypeForNull=JdbcType.OTHER;
  保护SetlazyLoadTriggerMethods=new HashSet(数组。asList(新String[]{“=薄ⅰ翱寺 薄ⅰ癶ashCode”、“toString”}));
  保护整数defaultStatementTimeout;//默认为简单执行器
  保护ExecutorType defaultExecutorType=ExecutorType.SIMPLE;
  保护AutoMappingBehavior AutoMappingBehavior=AutoMappingBehavior.PARTIAL;//- - - - - - - - - - & lt; settings>节点- - - - - - -
  
  受保护的属性变量=new属性();//对象工厂和对象包装器工厂
  保护ObjectFactory ObjectFactory=new DefaultObjectFactory ();
  保护ObjectWrapperFactory ObjectWrapperFactory=new DefaultObjectWrapperFactory ();//映射注册机
  保护MapperRegistry MapperRegistry=new MapperRegistry(这个);//默认禁用延迟加载
  保护布尔lazyLoadingEnabled=false;
  保护ProxyFactory ProxyFactory=new JavassistProxyFactory ();//使用内部Javassist代替OGNL # 224
  
  保护字符串databaseId;/* *
  *配置工厂类。
  *用于创建配置加载反序列化未读属性。
  *
  * @see & lt; a href=' https://code.google.com/p/mybatis/issues/detail?id=300 '在发行300 & lt;/a>(谷歌代码)
  */保护Class<?比;configurationFactory;
  
  保护最终InterceptorChain InterceptorChain=new InterceptorChain ();//类型处理器注册机
  保护最终TypeHandlerRegistry TypeHandlerRegistry=new TypeHandlerRegistry ();//类型别名注册机
  保护最终TypeAliasRegistry TypeAliasRegistry=new TypeAliasRegistry ();
  保护最终LanguageDriverRegistry languageRegistry=new LanguageDriverRegistry ();//映射的语句,存在地图里
  最后Map<保护,字符串,MappedStatement>mappedStatements=new StrictMap(“映射语句集合”);//缓存,存在地图里
  最后Map<保护,字符串,Cache>缓存=new StrictMap(“缓存集合”);//结果映射,存在地图里
  最后Map<保护,字符串,ResultMap>resultMaps=new StrictMap(“结果收集地图”);
  最后Map<保护,字符串,ParameterMap>parameterMaps=new StrictMap(“参数映射集合”);
  最后Map<保护,字符串,KeyGenerator>keyGenerators=new StrictMap(“关键发电机收集”);
  
  保护最终SetloadedResources=new HashSet ();
  最后Map<保护,字符串,XNode>sqlFragments=new StrictMap (“XML片段从以前的解析映射器”);//不完整的SQL语句
  保护最终CollectionincompleteStatements=new LinkedList ();
  保护最终CollectionincompleteCacheRefs=new LinkedList ();
  保护最终CollectionincompleteResultMaps=new LinkedList ();
  保护最终CollectionincompleteMethods=new LinkedList ();/*
  *地图cache-ref关系。关键是名称空间
  *缓存引用绑定到另一个名称空间和价值
  *实际缓存被绑定到名称空间。
  */最后Map<保护,字符串,String>cacheRefMap=new HashMap<字符串,String> ();
  
  公共配置(环境环境){
  这();
  这一点。环境=环境;
  }
  
  公共配置(){//注册更多的类型别名
  typeAliasRegistry。registerAlias (JDBC, JdbcTransactionFactory.class);
  typeAliasRegistry。registerAlias(“管理”,ManagedTransactionFactory.class);
  
  typeAliasRegistry。JndiDataSourceFactory.class registerAlias (JNDI);
  typeAliasRegistry。registerAlias(“池”,PooledDataSourceFactory.class);
  typeAliasRegistry。registerAlias(“未共享”,UnpooledDataSourceFactory.class);
  
  typeAliasRegistry。registerAlias(“永久”,PerpetualCache.class);
  typeAliasRegistry。registerAlias(“先进先出”,FifoCache.class);
  typeAliasRegistry。registerAlias (LRU, LruCache.class);
  typeAliasRegistry。registerAlias(“软”,SoftCache.class);
  typeAliasRegistry。registerAlias(“弱”,WeakCache.class);
  
  typeAliasRegistry。registerAlias (“DB_VENDOR”, VendorDatabaseIdProvider.class);
  
  typeAliasRegistry。registerAlias (“XML”, XMLLanguageDriver.class);
  typeAliasRegistry。registerAlias(“原始”,RawLanguageDriver.class);
  
  typeAliasRegistry。registerAlias (“SLF4J”, Slf4jImpl.class);
  typeAliasRegistry。registerAlias (“COMMONS_LOGGING”, JakartaCommonsLoggingImpl.class);
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

Mybatis源码分析(05.配置)