Loading

application.yml数据库相关

在 Spring Boot 应用中,application.yml 是常用的配置文件,用于配置数据库连接是其重要用途之一。下面详细介绍如何在 application.yml 中配置数据库相关信息。

一、基础配置(以 MySQL 为例)

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/yourdbname?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: yourpassword
    driver-class-name: com.mysql.cj.jdbc.Driver

说明:

  1. url:数据库连接地址,格式为 jdbc:mysql://主机:端口/数据库名?参数
  2. username/password:数据库用户名和密码。
  3. driver-class-name:驱动类名,MySQL 8.x 及以上使用 com.mysql.cj.jdbc.Driver

二、连接池配置(HikariCP)

Spring Boot 2.x 默认使用 HikariCP 连接池,可添加以下配置优化性能:

spring:
  datasource:
    hikari:
      minimum-idle: 5  # 最小空闲连接数
      maximum-pool-size: 15  # 最大连接数
      auto-commit: true  # 自动提交
      idle-timeout: 30000  # 空闲连接超时时间(毫秒)
      pool-name: HikariCP  # 连接池名称
      max-lifetime: 1800000  # 连接最大生命周期(毫秒)
      connection-timeout: 30000  # 连接超时时间(毫秒)
      connection-test-query: SELECT 1  # 测试连接的 SQL

三、多数据源配置

若需要连接多个数据库,可配置多个数据源:

spring:
  datasource:
    primary:  # 主数据源
      url: jdbc:mysql://localhost:3306/db1
      username: root
      password: password
      driver-class-name: com.mysql.cj.jdbc.Driver
    secondary:  # 次数据源
      url: jdbc:mysql://localhost:3306/db2
      username: root
      password: password
      driver-class-name: com.mysql.cj.jdbc.Driver

注意:
多数据源需要通过 Java 代码手动配置 DataSource Bean,application.yml 仅提供配置参数。

四、其他数据库配置示例

1. PostgreSQL

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/yourdbname
    username: postgres
    password: yourpassword
    driver-class-name: org.postgresql.Driver

2. Oracle

spring:
  datasource:
    url: jdbc:oracle:thin:@localhost:1521:ORCL
    username: system
    password: yourpassword
    driver-class-name: oracle.jdbc.OracleDriver

3. SQL Server

spring:
  datasource:
    url: jdbc:sqlserver://localhost:1433;databaseName=yourdbname
    username: sa
    password: yourpassword
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver

五、JPA/Hibernate 配置

若使用 Spring Data JPA,可添加以下配置:

spring:
  jpa:
    hibernate:
      ddl-auto: update  # 自动创建/更新表结构(可选:create, create-drop, validate)
    show-sql: true  # 显示 SQL 语句
    properties:
      hibernate:
        format_sql: true  # 格式化 SQL 语句
        dialect: org.hibernate.dialect.MySQL8Dialect  # 数据库方言

六、常用参数说明

参数 描述
ddl-auto 自动管理表结构(none/validate/update/create/create-drop
show-sql 打印 SQL 语句到控制台
format_sql 格式化打印的 SQL 语句
hibernate.dialect 指定数据库方言(如 MySQL8Dialect)
generate-ddl 是否自动生成 DDL 语句

七、注意事项

  1. 依赖问题:确保 pom.xml 中添加了对应数据库的驱动依赖(如 MySQL、PostgreSQL)。
  2. 安全性:生产环境建议将密码等敏感信息通过环境变量或配置中心管理。
  3. 连接参数:URL 中的参数(如 serverTimezone)需根据数据库版本调整。

如果需要更具体的配置示例或遇到问题,请告诉我!

posted @ 2025-07-04 09:43  一只大学生  阅读(105)  评论(0)    收藏  举报