• MyBatis settings属性详解


    settings 设置

    settings 属性是mybatis中极为重要的调整测试,会改变mybatis的运行时行为。

    在大部分情况下不需要大量配置它,只需要修改一些常用的规则即可,比如自动映射、驼峰命名映射、级联规则、是否启动缓存、执行器(Executor)类型等

    一个完整的settings配置如下:

    1. <settings>
    2. <setting name="cacheEnabled" value="true"/>
    3. <setting name="lazyLoadingEnabled" value="true"/>
    4. <setting name="multipleResultSetsEnabled" value="true"/>
    5. <setting name="useColumnLabel" value="true"/>
    6. <setting name="useGeneratedKeys" value="false"/>
    7. <setting name="autoMappingBehavior" value="PARTIAL"/>
    8. <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
    9. <setting name="defaultExecutorType" value="SIMPLE"/>
    10. <setting name="defaultStatementTimeout" value="25"/>
    11. <setting name="defaultFetchSize" value="100"/>
    12. <setting name="safeRowBoundsEnabled" value="false"/>
    13. <setting name="mapUnderscoreToCamelCase" value="false"/>
    14. <setting name="localCacheScope" value="SESSION"/>
    15. <setting name="jdbcTypeForNull" value="OTHER"/>
    16. <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
    17. settings>

    属性详解

    cacheEnabled 是否开启全局缓存,默认值:true
    mapUnderscoreToCamelCase是否开启驼峰命名自动映射,A_COLUMN 映射到 Java 属性名 aColumn。默认值为false
    logImpl设置日志,value="LOG4J",指定 MyBatis 所用日志的具体实现,未指定时将自动查找
    logPrefix指定 MyBatis 增加到日志名称的前缀。
    lazyLoadingEnabled 是否开启懒加载,默认值:false
    aggressiveLazyLoading 开启时不论调用什么方法加载某个对象,都会加载该对象的所有属性默认值:false
    multipleResultSetsEnabledmapper配置中一个单个的sql配置是否能返回多个结果集 默认值:true 
    useColumnLabel  是否使用列标签代替列名,默认值:true
    useGeneratedKeys 强制使用自动生成主键的策略,默认值:false
    autoMappingBehavior有三种方式none partial full, 
    none:时将消失自动映射;
    partial :时只会自动映射没有定义结果集的结果映射; 
    full :时会映射任意复杂的结果集
    默认值: partial
    autoMappingUnknownColumnBehavior有三种动作none warning failing 
    none:时不做任何操作 
    warning: 时会输出提醒日志 
    failing:时会抛出 sqlseesionexception 异常表示映射失败
    默认值: none
    defaultExecutorType  有三种执行器simple reuse batch 
    simple :为普通执行器 
    reuse:执行器会重用处理语句 
    batch:执行器将重用语句并执行批量更新
    默认值:simple 
    defaultStatementTimeout 数据库驱动链接数据库超时时间,即等待数库回应的最大秒数 
    默认值: 无 有效值 :任意整数
    defaultFetchSize  防止从数据库查询出来的结果太多 而导致内存溢出 ,通过设置fetchSize 参数 来控制结果集的数量
    默认值: 无 有效值:任意整数
    lazyLoadTriggerMethods定对象的哪些方法触发一次延迟加载。属性值为用逗号分隔的方法列表。默认值为equals,clone,hashCode,toString;
    proxyFactory 指定 Mybatis 创建可延迟加载对象所用到的代理工具。默认为Javassist
    jdbcTypeForNull当没有为参数指定特定的 JDBC 类型时,空值的默认 JDBC 类型。某些数据库驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。属性值为jdbc常量,null,varchar,other,默认为other

    其中cacheEnabled、mapUnderscoreToCamelCase、logImpl   常用。      

  • 相关阅读:
    LeetCode --- 1528. Shuffle String 解题报告
    5G终端标识SUPI,SUCI及IMSI解析
    配置spring boot actuator跟踪 http 请求
    LeetCode第20题:有效的括号
    印度欲自研系统以替代 iOS 和 Android;基于 OpenJDK 17 的龙芯平台 Java 环境发布;Python 即将支持 WebAssembly | 开源日报
    信创办公–基于WPS的EXCEL最佳实践系列 (限制可录入内容)
    LeetCode(力扣)452. 用最少数量的箭引爆气球Python
    SPA项目开发关于动态树+数据表格+分页
    让锅碗瓢盆变成我们生活的快乐插曲
    [Linux]线程同步
  • 原文地址:https://blog.csdn.net/qq_41946216/article/details/126943140