目录
修改之前该行是报红的

具体代码
- # 配置项目信息
- spring:
- profiles:
- active: prod # yml中配置文件的环境配置,dev:开发环境,test:测试环境,prod:生产环境
- application:
- name: imooc-news-dev-service-user
- datasource: # 数据源的相关配置
- type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP
- driver-class-name: com.mysql.cj.jdbc.Driver # mysql驱动
- url: jdbc:mysql://localhost:3306/imooc-news-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
- username: root
- password: 123456
- hikari:
- connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
- minimum-idle: 5 # 最小连接数
- maximum-pool-size: 20 # 最大连接数
- auto-commit: true # 自动提交
- idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
- pool-name: DateSourceHikariCP # 连接池名字
- max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
- connection-test-query: SELECT 1
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
查找相关资料后,发现是没有引入jdbc的相关依赖
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-data-jdbcartifactId>
- dependency>
添加后就不报错啦
参考以下文章
HikariDataSource初识 - mushishi - 博客园 (cnblogs.com)
排查HikariDataSource异常关闭问题 - 简书 (jianshu.com)
- HikariCP 是面向 jdbc api 的数据库连接池,所以它肯定实了
javax.sql.DataSource接口- Hikari中提供的DataSource是 HikariDataSource,HikariDataSource 实现了HikariConfig,和数据库的各种参数超时时间配置就正HikariaConfig 中。
- 其中提供两种初始化方式,一种是默认的构造函数,单new一个HikariDataSource时,数据源的链接不会建立,需要等到第一次调用HikariDataSource的getConnection方法。数据源建立后的相关信息保存在HikariDataSource中变量HikariPool pool。
- 另一种建立方式是调用带有HikariConfig的构造函数,这种方式适合多个数据源的建立,共享同一份配置。这种方式在调用构造函数的时候就建立了数据源的链接。
- HikariDataSource的所有数据源获取都委托给了HikariPool,一个数据源会有一个HikariPool,一个HikariPool中有一个ConcurrentBag,一个ConcurrentBag中多个PoolEntry,一个PoolEntry对应一个Connection。