1. properties
    1. 作用
      1. 引用propertis文件并读取配置信息,也可以在<properties/>标签中定义属性
    2. 例子
      1. 创建一个资源文件jdbc.properties
        1. jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl jdbc.username=mybatis jdbc.password=mybatis
      2. mybatis-config.xml中引入
        1. <properties resource="jdbc.properties" />
      3. 也可以在<properties/>标签中定义属性
        1. <properties resource="jdbc.properties"> <property name="jdbc.driverClassName" value="oracle.jdbc.driver.OracleDriver"/> </properties>
      4. 使用properties文件里的属性
        1. <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource>
    3. 配置的加载顺序
      1. 在 properties 元素体内指定的属性首先被读取。
      2. 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。
      3. 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。
  2. settings
    1. 概念
      1. MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为
    2. 配置方式
      1. <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>
    3. 常用
      1. cacheEnabled
        1. 该配置影响的所有映射器中配置的缓存的全局开关。
          1. 默认true
      2. lazyLoadingEnabled
        1. 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。
          1. 默认false
      3. aggressiveLazyLoading
        1. 当开启时,任何方法的调用都会加载该对象的所有属性。否则,每个属性会按需加载
          1. 默认false (true in ≤3.4.1)
      4. logImpl
        1. 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。