SpringBoot快速配置数据源的方法
#代码知识 发布时间: 2026-01-12
SpringBoot如何快速配置数据源;有如下两种方式:

- 通过spring-boot-starter-jdbc快速配置数据源
- 自定义数据源DataSource
首先我们需要明确数据源DataSource有什么作用:
- 通过DataSource可以获取数据库连接Connection
- 通过DataSource创建JdbcTemplate操作数据库
实际项目中,我们在配置数据源的时候会指定数据库连接池,比如流行的Hikari(spring默认的数据库连接池)、C3p0、Dbcp2以及阿里巴巴的Druid。
一、使用数据库连接池
应用在操作数据库的时候,直接从数据库连接池获取连接,而不需要每次创建新的连接。
至于数据库连接池的好处,总结就是: 应用创建和销毁连接的代价是很大的,使用数据库连接池可以很好的复用连接,节省开销,方便管理,简化开发。
可能有些场景我们不想使用SpringBoot JDBC默认的数据源,我需要引入数据库连接池,然后自定义数据源,指定数据源类型。
下面以Dbcp2数据库连接池配置数据源为例。
二、配置依赖
引入dbcp2的数据库连接池已经相关依赖。
<!-- dbcp2数据库连接池 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.7.0</version> </dependency> <!--数据库驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> <!-- 提供操作数据库的标准口径 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.2.RELEASE</version> <scope>compile</scope> </dependency>
三、编写配置项
在application.properties文件中配置数据库连接属性。
customize.datasource.url=jdbc:mysql://localhost:3306/blue?serverTimezone=UTC customize.datasource.username=root customize.datasource.password=wan4380797 customize.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
四、自定义DataSource
import org.apache.commons.dbcp2.BasicDataSource;
@Configuration
public class Dbcp2DataSource {
@Bean("myDbcp2DataSource")
@ConfigurationProperties(prefix = "customize.datasource")
public DataSource getDataSource(){
return DataSourceBuilder.create().type(BasicDataSource.class).build();
}
}
这边我们可以看到我们创建的DataSource类型为BasicDataSource类型的。并且BasicDataSource来源于之前配置的dbcp2依赖的jar包中。
五、调用验证
下面我们使用junit来验证以下数据源配置的正确与否:
@SpringBootTest
@RunWith(SpringRunner.class)
public class JdbcCustomizeDatasourceApplicationTests {
@Autowired
@Qualifier("myDbcp2DataSource")
private DataSource dataSource;
@Test
public void springJdbcTemplateTest(){
try{
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
String queryStr = "select * from student";
List<Student> resultList = new ArrayList<>();
jdbcTemplate.query(queryStr, (ResultSet resultSet)->{
Student student = new Student();
student.setId(resultSet.getString("id"));
student.setStudentId(resultSet.getString("student_id"));
student.setStudentName(resultSet.getString("student_name"));
student.setAge(resultSet.getInt("age"));
resultList.add(student);
});
resultList.forEach((Student student) -> System.out.println(student));
}catch (Exception exception){
exception.printStackTrace();
}
}
}
以上就是SpringBoot快速配置数据源的方法的详细内容,更多关于SpringBoot 配置数据源的资料请关注其它相关文章!
代码知识SEO上一篇 : shell字符串截取报错:Bad substitution的解决
下一篇 : Java httpClient介绍以及使用示例
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!