MyBatis 配置详解:application.yml 文件示例
MyBatis 配置详解:application.yml 文件示例
本文提供一个完整的 MyBatis 配置示例,涵盖了 type-aliases-package、mapper-locations、configuration 和 datasource 等关键配置项,帮助你轻松搭建 MyBatis 环境。
mybatis:
'type-aliases-package': com.example.entity
'mapper-locations': classpath:mapper/*.xml
configuration:
'map-underscore-to-camel-case': true
'cache-enabled': true
'lazy-loading-enabled': true
'multiple-result-sets-enabled': true
'use-generated-keys': true
'default-statement-timeout': 3000
'default-fetch-size': 100
'log-impl': org.apache.ibatis.logging.stdout.StdOutImpl
datasource:
'driver-class-name': com.mysql.jdbc.Driver
'url': jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
'username': root
'password': 123456
'initial-size': 5
'max-active': 20
'min-idle': 5
'max-wait': 60000
'validation-query': SELECT 1 FROM DUAL
'test-on-borrow': false
'test-on-return': false
'test-while-idle': true
'time-between-eviction-runs-millis': 60000
'min-evictable-idle-time-millis': 300000
'remove-abandoned': true
'remove-abandoned-timeout': 1800
配置项说明
type-aliases-package: 指定实体类所在的包路径,方便 MyBatis 自动识别实体类,避免重复写别名。mapper-locations: 指定 Mapper 文件的位置,使用classpath协议,表示从 classpath 路径下读取文件。configuration: MyBatis 的全局配置,包含以下几个重要的配置项:map-underscore-to-camel-case: 设置是否将数据库中下划线命名字段映射到 Java 类中的驼峰命名属性。cache-enabled: 设置是否启用二级缓存,默认开启。lazy-loading-enabled: 设置是否开启延迟加载,默认关闭。multiple-result-sets-enabled: 设置是否支持多结果集,默认关闭。use-generated-keys: 设置是否使用数据库自动生成主键,默认关闭。default-statement-timeout: 设置默认语句执行超时时间,单位毫秒。default-fetch-size: 设置默认查询结果集大小,默认设置为 100。log-impl: 设置 MyBatis 日志实现类,这里使用的是StdOutImpl,将日志输出到控制台。
datasource: 数据源配置,包含以下几个重要的配置项:driver-class-name: 指定数据库驱动类。url: 指定数据库连接地址。username: 指定数据库用户名。password: 指定数据库密码。initial-size: 初始化连接池中的连接数量。max-active: 连接池中最大活跃连接数。min-idle: 连接池中最小空闲连接数。max-wait: 当连接池中没有可用连接时,最大等待时间,单位毫秒。validation-query: 连接池验证连接是否有效的 SQL 语句。test-on-borrow: 在从连接池获取连接时,是否进行连接验证。test-on-return: 在将连接归还连接池时,是否进行连接验证。test-while-idle: 在空闲连接验证时,是否进行连接验证。time-between-eviction-runs-millis: 连接池定时清理空闲连接的时间间隔,单位毫秒。min-evictable-idle-time-millis: 连接在连接池中空闲的最短时间,单位毫秒,超过该时间就会被清理。remove-abandoned: 是否移除长时间没有使用的连接,默认为true。remove-abandoned-timeout: 连接在连接池中闲置的时间阈值,超过该时间就会被移除,单位秒。
总结
这份配置示例展示了如何使用 application.yml 文件配置 MyBatis,并详细解释了每个配置项的含义和作用。你可以根据自己的实际需求进行调整,构建一个高效稳定的 MyBatis 开发环境。
原文地址: https://www.cveoy.top/t/topic/okay 著作权归作者所有。请勿转载和采集!