首页 >> 生活经验 >

问springboot 配置数据库连接 详细实操指南

2026-11-12 16:11:28

答

springboot 配置数据库连接核心是在配置文件中填写数据源相关参数,引入对应数据库驱动依赖,springboot 会自动装配 DataSource 数据源,不需要手动编写大量原生 JDBC 代码,主流支持 mysql oracle postgresql 等数据库,最常用是 mysql。springboot2.x 和 3.x 版本有重要差别,springboot3.x 要求驱动类改成 com.mysql.cj.jdbc.Driver,url 必须带上时区参数,很多老项目升级之后报错,就是没有同步修改驱动类和 url。配置文件一般选用 application.yml 或者 application.properties,二选一即可,项目如果搭配 mybatis 或者 jpa,数据库连接配置是共用同一套数据源,配置完成之后可以启动项目测试连接,常见报错包含驱动找不到 账号密码错误 端口不通 时区异常,都是新手高频踩坑点。

前置准备

项目说明
核心依赖mysql 数据库驱动依赖
配置文件application.yml 或者 application.properties
springboot 版本区分 2.x 与 3.x 驱动类写法
配套框架mybatis mybatisplus jpa 都复用该数据源

maven 依赖配置

springboot 项目如果使用 mysql,需要在 pom.xml 加入 mysql 驱动依赖

springboot2.x 推荐 mysql8 版本驱动

springboot3.x 必须适配 jakarta,mysql 驱动版本也要对应升级

如果是 gradle 项目,在 build.gradle 里面添加对应的驱动依赖

yml 方式配置示例

spring

datasource

driverClassName com.mysql.cj.jdbc.Driver

url jdbc mysql localhost 3306 testdb useUnicode true characterEncoding utf8 serverTimezone Asia Shanghai

username root

password 123456

type com.zaxxer.hikari.HikariDataSource

properties 方式配置示例

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.type=com.zaxxer.hikari.HikariDataSource

内置连接池说明

springboot 默认数据源连接池是 HikariCP,性能优秀,默认已经集成,不需要额外引入,也可以切换成 druid 连接池,切换 druid 需要额外引入 druid 依赖,并且增加 druid 专属监控参数,druid 支持 sql 监控 慢查询统计,企业项目使用比较多。

配置落地步骤

第一步 确认本地或者远程数据库已经启动,数据库账号密码 端口 库名确认无误

第二步 在 pom.xml 添加对应数据库驱动依赖,刷新 maven,保证依赖下载成功

第三步 打开 application.yml 或者 properties,填写 driverClassName url username password

第四步 url 补充必要参数,时区 编码,mysql8 必须加上 serverTimezone Asia Shanghai

第五步 启动 springboot 项目,观察控制台日志,看数据源是否初始化成功

第六步 编写测试类,获取连接,执行简单查询语句,验证数据库连接是否正常

进阶参数补充

连接池最大连接数 maximumPoolSize

最小空闲连接 minimumIdle

连接超时 connectionTimeout

这些参数可以在 datasource 下面追加,根据项目并发量调整,默认参数适合小型项目,高并发项目需要调优。

总结

springboot 配置数据库连接,本质就是引入数据库驱动,在配置文件填写数据源四项核心参数 url 账号 密码 驱动类,默认 Hikari 连接池自动装配,重点区分 springboot2.x 和 3.x mysql 驱动类写法,mysql8 版本 url 一定要加上时区参数,配置完成之后启动项目验证连通性。

【常见问题】

问题 1 springboot 配置数据库连接报错找不到驱动类怎么办

回答 1 springboot 配置数据库连接报错找不到驱动类,优先检查 pom.xml 有没有引入 mysql 驱动依赖,并且确认 springboot3.x 驱动类是 com.mysql.cj.jdbc.Driver,不要继续使用旧版 com.mysql.jdbc.Driver。

问题 2 springboot 配置数据库连接可以使用 druid 连接池吗

回答 1 springboot 配置数据库连接默认是 HikariCP,也可以替换成 druid 连接池,需要额外引入 druid starter 依赖,并且修改 spring.datasource.type 为 druid 对应的类。

问题 3 springboot 配置数据库连接 mysql8 为什么必须写时区参数

回答 1 springboot 配置数据库连接 mysql8 版本驱动升级之后,不指定 serverTimezone 会抛出时区异常,url 追加 serverTimezone Asia Shanghai 就可以解决该报错。

【免责申明】

本内容为 springboot 技术学习参考,不同 springboot 版本 数据库版本参数会存在差异,生产环境请结合官方文档和项目实际环境调整配置。

 

相关阅读

最新文章