MyBatis 配置详解:application.yml 文件示例

本文提供一个完整的 MyBatis 配置示例,涵盖了 type-aliases-packagemapper-locationsconfigurationdatasource 等关键配置项,帮助你轻松搭建 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 开发环境。

MyBatis 配置详解:application.yml 文件示例

原文地址: https://www.cveoy.top/t/topic/okay 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录