Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql和jdbc及hikiria依赖关系

mysql和jdbc以及hikiria三者依赖的关系详细梳理

作者:invicinble

这篇文章主要介绍了mysql和jdbc以及hikiria三者依赖关系的相关资料,手把手教你配置JDBC接口、MySQL驱动和HikariCP连接池,需要的朋友可以参考下

当springboot想要连接mysql数据库

我们梳理一下这几个依赖,我们需要对这几个依赖,要产生对应的理解。

这个依赖的本体作用是什么

可以配置什么参数,这些参数的意义是什么

怎么配置参数,参数选什么会合适一点

1.jdbc依赖

这个是一个接口

2.mysql依赖

这个是jdbc接口的实现

3,hikria依赖

我来帮你梳理Spring Boot连接MySQL数据库时这三个核心依赖的作用、配置参数以及最佳实践。

1. JDBC依赖 (spring-boot-starter-jdbc)

本体作用

核心配置参数

spring:
  datasource:
    # 数据源类型(可选,默认会根据依赖自动选择)
    type: com.zaxxer.hikari.HikariDataSource
    
    # JDBC URL
    url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
    
    # 用户名和密码
    username: root
    password: your_password
    
    # 驱动类名(可选,Spring Boot会自动检测)
    driver-class-name: com.mysql.cj.jdbc.Driver

参数意义

2. MySQL依赖 (mysql-connector-java)

本体作用

Maven依赖配置

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version> <!-- 推荐使用8.0+版本 -->
</dependency>

连接URL参数详解

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database?
      useUnicode=true&              # 使用Unicode编码
      characterEncoding=utf8&       # 字符集设置
      useSSL=false&                 # 是否使用SSL(开发环境可关闭)
      serverTimezone=UTC&          # 服务器时区
      allowPublicKeyRetrieval=true& # 允许公钥检索(MySQL 8.0+需要)
      autoReconnect=true&          # 自动重连
      failOverReadOnly=false       # 故障转移时是否只读

3. Hikari依赖 (HikariCP)

本体作用

核心配置参数

spring:
  datasource:
    hikari:
      # 连接池名称
      pool-name: HikariPool-1
      
      # 最大连接数
      maximum-pool-size: 10
      
      # 最小空闲连接数
      minimum-idle: 5
      
      # 连接超时时间(毫秒)
      connection-timeout: 30000
      
      # 空闲连接超时时间(毫秒)
      idle-timeout: 600000
      
      # 连接最大生命周期(毫秒)
      max-lifetime: 1800000
      
      # 连接测试查询
      connection-test-query: SELECT 1
      
      # 自动提交
      auto-commit: true
      
      # 初始化连接数
      initialization-fail-timeout: 1

参数意义详解

连接池大小配置

超时配置

性能优化配置

完整配置示例

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
    username: root
    password: password123
    driver-class-name: com.mysql.cj.jdbc.Driver
    
    hikari:
      pool-name: MyHikariPool
      maximum-pool-size: 20
      minimum-idle: 10
      connection-timeout: 30000
      idle-timeout: 600000
      max-lifetime: 1800000
      connection-test-query: SELECT 1
      auto-commit: true
      
      # 高级配置(可选)
      leak-detection-threshold: 60000  # 连接泄漏检测(毫秒)
      validation-timeout: 5000         # 验证超时时间

依赖关系总结

JDBC接口 (spring-boot-starter-jdbc)
    ↓ 定义标准
MySQL驱动实现 (mysql-connector-java)
    ↓ 提供具体实现
Hikari连接池 (HikariCP)
    ↓ 管理连接资源
Spring Boot应用

最佳实践建议

  1. 版本选择:

    • MySQL Connector: 8.0.x(支持MySQL 8.0+)
    • HikariCP: 使用Spring Boot默认版本
  2. 生产环境配置:

    • 最大连接数: 根据数据库性能和并发量调整
    • 超时时间: 适当延长以避免频繁重建连接
    • 监控配置: 启用连接池监控
  3. 安全性考虑:

    • 生产环境使用SSL连接
    • 密码加密存储
    • 定期更新驱动版本

这样的配置既能保证性能,又能确保系统的稳定性和安全性。

总结

到此这篇关于mysql和jdbc以及hikiria三者依赖关系详细梳理的文章就介绍到这了,更多相关mysql和jdbc及hikiria依赖关系内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文