文章插图
Mybatis全局配置文件配置properties可以在全局配置文件中配置properties标签来进行外部配置
设置属性的方式有三种
- 在properties的属性节点resource或url所指定的资源文件中配置
- 在properties的子节点property中配置
- 在构建SqlSessionFactory时通过方法传入参数
jdbc.driver=com.MySQL.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/testjdbc.username=rootjdbc.password=123456
<!-- 使用 properties来引入外部配置文件内容--><!-- resource引入类路径下的资源url引入网路或磁盘路径下的资源 --><properties resource="jdbc.properties"></properties><!-- 数据库配置 --><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value=https://www.isolves.com/it/cxkf/kj/2021-03-12/"${jdbc.driver}"/>
property子节点配置<!-- 也可以使用property子节点来进行配置 --><properties resource="jdbc.properties"><property name="jdbc.password" value=https://www.isolves.com/it/cxkf/kj/2021-03-12/"123456"/>
实例化时方法传参public static SqlSessionFactory createFactory(){// 获取到mybatis-config.xml配置文件 , 进而构建SqlSessionFactoryInputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("mybatis-config.xml");Properties props = new Properties();props.put("jdbc.password","123456");return new SqlSessionFactoryBuilder().build(is,props);}
三种方式的顺序- 首先读取property子节点中指定的属性
- 再读取使用resources或url引入的外部配置文件中属性 , 并覆盖之前的同名属性
- 最后读取作为方法传递的参数 , 并覆盖之前的同名属性
描述
有效值
默认值
cacheEnabled
全局性地开启或关闭所有映射器配置文件中已配置的任何缓存 。
true | false
true
lazyLoadingEnabled
延迟加载的全局开关 。当开启时 , 所有关联对象都会延迟加载 。特定关联关系中可通过设置 fetchType 属性来覆盖该项的开关状态 。
true | false
false
aggressiveLazyLoading
开启时 , 任一方法的调用都会加载该对象的所有延迟加载属性 。否则 , 每个延迟加载属性会按需加载(参考 lazyLoadTriggerMethods) 。
true | false
false (在 3.4.1 及之前的版本中默认为 true)
multipleResultSetsEnabled
是否允许单个语句返回多结果集(需要数据库驱动支持) 。
true | false
true
useColumnLabel
使用列标签代替列名 。实际表现依赖于数据库驱动 , 具体可参考数据库驱动的相关文档 , 或通过对比测试来观察 。
true | false
true
useGeneratedKeys
允许 JDBC 支持自动生成主键 , 需要数据库驱动支持 。如果设置为 true , 将强制使用自动生成主键 。尽管一些数据库驱动不支持此特性 , 但仍可正常工作(如 Derby) 。
true | false
False
autoMAppingBehavior
指定 MyBatis 应如何自动映射列到字段或属性 。NONE 表示关闭自动映射;PARTIAL 只会自动映射没有定义嵌套结果映射的字段 。FULL 会自动映射任何复杂的结果集(无论是否嵌套) 。
推荐阅读
- 一文读懂HTTP常见状态码
- 五步掌握用VSCode进行高效Python开发
- MySQL必须要掌握的常用查询语句
- 一文看懂Javascript的this关键字
- 微信小程序开发:一篇文章掌握基础配置、基本语法和功能
- 泡茶需掌握技巧,鲜为人知的泡茶技巧分享
- 泡茶水温该如何掌握,如何泡出龙井茶的宜人香韵
- 一文详解 C++ 框架:日志框架
- 亡羊补牢告诉我们只要及时改正-亡羊补牢一文告诉我们的道理是只要肯接受意见认真改正-
- 一文彻底读懂MySQL事务的四大隔离级别