Java高级---Spring Boot---8数据库连接

8 数据库连接

8.1 配置数据库连接

在Spring Boot中配置数据库连接主要涉及添加数据库驱动依赖和设置数据库连接属性。

  1. 添加依赖:

    • 对于Maven项目,在pom.xml中添加数据库驱动的依赖。
    • 对于Gradle项目,在build.gradle中添加数据库驱动的依赖。
  2. 配置连接属性:

    • application.propertiesapplication.yml中设置数据库连接的URL、用户名、密码等。

示例配置(application.properties):

properties 复制代码
spring.datasource.url=jdbc:mysql://localhost:3306/your_db
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

8.2 使用DataSource

DataSource接口用于获取数据库连接,Spring Boot自动配置DataSource。

  1. 自动配置:

    • Spring Boot根据提供的连接属性自动配置DataSource。
  2. 自定义DataSource:

    • 可以通过实现DataSource接口或使用Spring Boot的@Configuration注解自定义DataSource配置。
  3. 连接池:

    • Spring Boot默认使用HikariCP作为连接池,也可以配置其他连接池如Druid。

8.3 集成数据库连接池

数据库连接池提高资源利用率和应用程序性能。

  1. HikariCP:

    • Spring Boot默认使用HikariCP作为数据库连接池。
  2. 配置连接池:

    • 在配置文件中设置连接池参数,如最大连接数、最小空闲连接数等。

示例配置(application.yml):

yaml 复制代码
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_db?useSSL=false&serverTimezone=UTC
    username: your_username
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      maximum-pool-size: 20
      minimum-idle: 10
      idle-timeout: 30000
      max-lifetime: 1800000
      connection-timeout: 30000

8.4 集成Druid连接池

Druid连接池是一个轻量级且功能丰富的数据库连接池。

  1. 添加Druid依赖:

    • 在项目的pom.xmlbuild.gradle中添加Druid的依赖。
  2. 配置Druid连接池:

    • application.ymlapplication.properties中配置Druid连接池的参数。

Druid配置示例:

yaml 复制代码
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      url: jdbc:mysql://localhost:3306/your_db?useSSL=false&serverTimezone=UTC
      username: your_username
      password: your_password
      driver-class-name: com.mysql.cj.jdbc.Driver
      initial-size: 10
      min-idle: 5
      max-active: 20
      max-wait: 60000
      time-between-eviction-runsMillis: 60000
      min-evictable-idle-timeMillis: 300000
      validation-query: SELECT 1 FROM DUAL
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
  1. Druid监控 :
    • Druid提供了监控页面,可以监控连接池状态和SQL执行情况。

Druid监控配置示例:

yaml 复制代码
spring:
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: druid
        login-password: druid
        reset-enable: true

通过合理配置数据库连接和连接池,Spring Boot应用程序能够高效、稳定地与数据库进行交互。无论是使用Spring Boot默认的HikariCP连接池,还是集成如Druid这样的第三方连接池,Spring Boot都提供了简单明了的配置方式,以适应不同的生产环境和性能需求。

相关推荐
小吴编程之路5 小时前
MySQL 索引核心特性深度解析:从底层原理到实操应用
数据库·mysql
~莫子5 小时前
MySQL集群技术
数据库·mysql
HalvmånEver5 小时前
7.高并发内存池大页内存申请释放以及使用定长内存池脱离new
java·spring boot·spring
凤山老林5 小时前
SpringBoot 使用 H2 文本数据库构建轻量级应用
java·数据库·spring boot·后端
就不掉头发5 小时前
Linux与数据库进阶
数据库
与衫5 小时前
Gudu SQL Omni 技术深度解析
数据库·sql
咖啡の猫6 小时前
Redis桌面客户端
数据库·redis·缓存
oradh6 小时前
Oracle 11g数据库软件和数据库静默安装
数据库·oracle
赶路人儿6 小时前
UTC时间和时间戳介绍
java·开发语言
dreamread6 小时前
【SpringBoot整合系列】SpringBoot3.x整合Swagger
java·spring boot·后端