参考来源:
(1条消息) SpringBoot默认数据源_springboot 中mybatis 默认数据源_@Hmily@的博客-CSDN博客https://blog.csdn.net/wqh0830/article/details/85859413(1条消息) SpringBoot配置DataSource(简述版)_spring.datasource.type_HD243608836的博客-CSDN博客https://blog.csdn.net/HD243608836/article/details/85263823
因为以前接触的都是tomcat数据源,未接触过HikariCP数据源,(本人使用的是springboot 2.7.13版本)连接数据库时发现输出语句有点陌生。。。
后来经过查询发现,springboot1.0时数据源默认使用的是tomcat,2.0以后换成了hikari
1.0时,只要导入jdbc、jpa或者mybatis三者依赖之一,默认就带上tomcat数据源
2.0以后只要导入jdbc、jpa或者mybatis三者依赖之一,默认就带上hikari数据源
查看依赖
点进去查看后发现默认的数据源为HikariCP
在后来上网查,修改默认数据源,可以用以下方法,在配置文件中指定数据源
spring.datasource.type=com.zaxxer.hikari.HikariDataSource ------指定HikariCP数据源
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource ------指定tomcat数据源
spring.datasource.type=org.apache.commons.dbcp.BasicDataSource ------指定dbcp数据源
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource ------指定dbcp2数据源
那就改,可找不到,给我报红了
Cannot resolve class。。。原来忘记导入依赖了,这里不排除也可以,多数据源只要在配置文件下指定就好
当然,想要切换成其他的数据源,由此类推就行
指定设置也正常了,当然这里的设置对我来说是多余的,因为我已经把原来默认的HikariCP移除了,现在只有一个Tomcat的数据源,除非是多数据源,就要指定使用自己需要使用的数据源
控制台输出
数据源各有优缺点,这里只是阐述一下更换springboot默认支持的4种数据源的操作步骤,但并不全面,仅供个人学习。
springboot默认支持的4种数据源:
① org.apache.tomcat.jdbc.pool.DataSource
② com.zaxxer.hikari.HikariDataSource
③ org.apache.commons.dbcp.BasicDataSource
④ org.apache.commons.dbcp2.BasicDataSource
基本步骤:
①查看自己的springboot版本
②查看数据源
这有另一种方法,pom文件下右键,可以通过视图查看spring-boot-starter-jdbc的默认数据源
③再根据自己所需要的数据源添加相应的依赖。
<!-- 添加Tomcat-JDBC依赖 -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</dependency>
<!-- 添加HikariCP依赖 -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<!-- 添加DBCP依赖 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
</dependency>
<!-- 添加DBCP2依赖 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
</dependency>
排除的话,看个人吧,不移除保留多个数据源就在配置文件下指定自己需要的数据源即可。
就像这样
如果说想要用自定义的数据源,可以参考这里
Spring Boot 简单配置自定义数据源 DataSourcehttps://blog.csdn.net/hubo_88/article/details/80431733