SpringBoot + JDBC(数据访问)教程

在某些应用中,可能会要求我们使用原生的 JDBC 的方式来实现与数据库的交互,而这时 Mybatis、Hibernate、JPA 等方式都不可以使用了,我们只能使用纯 JDBC 的方式来实现与数据库的交互。那么我们今天就一起来探究一下,如何在 Spring Boot 中引入 JDBC 进行数据访问。

Spring boot 提供了很多的自动配置功能,在数据库访问方面我们只需做一些简单的配置,就可以进行与数据库交互。

下面我们先引入所需要的 Maven 依赖吧。pom.xml 中的代码如下:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-test</artifactId>
	<scope>test</scope>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<scope>runtime</scope>
</dependency>

我们引入 spring-boot-starter-jdbc 后,还需要一个数据库驱动 jar 包。这里我们使用 mysql,所以引入 mysql-connector-java 即可。

完成这些以后,我们还要在 application.yml 中配置数据库访问的用户名和密码等信息。

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://192.168.15.22:3306/xttblog
    driver-class-name: com.mysql.jdbc.Driver

做完这些以后,我们就可以直接使用 DataSource 对象来操作数据库的增删改查了。

package com.xttblog.springboot;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBoot06DataJdbcApplicationTests {
	@Autowired
	DataSource dataSource;

	@Test
	public void contextLoads() throws SQLException {
		//org.apache.tomcat.jdbc.pool.DataSource
		System.out.println(dataSource.getClass());
		Connection connection = dataSource.getConnection();
		System.out.println(connection);
		connection.close();
	}
}

运行上面的代码,我们发现 Spring boot 默认使用的 tomcat 提供的数据库连接池。org.apache.tomcat.jdbc.pool.DataSource 是 Tomcat 提供的数据库连接池。

如果我们想变更数据库连接池,则需要在 application.yml 中配置一个 spring.datasource.type = org.apache.commons.dbcp2.BasicDataSource 或者 org.apache.commons.dbcp.BasicDataSource 也或者 com.zaxxer.hikari.HikariDataSource。这些数据库连接池都是 Spring boot 默认提供的。在 Spring Boot 的 org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration 类中有详细的加载原理。有兴趣的可以去看看对应的源代码。

根据 DataSource 获取到 Connection 后,我们就可以操作增删改查功能了。这些都是 java 的基础知识了,因此我就不在过多介绍了。需要更深入的学习 Spring Boot 的朋友,可以继续的关注我的个人博客!

SpringBoot + JDBC(数据访问)教程

: » SpringBoot + JDBC(数据访问)教程

原创文章,作者:wure,如若转载,请注明出处:https://blog.ytso.com/251770.html

(0)
上一篇 2022年5月3日
下一篇 2022年5月3日

相关推荐

发表回复

登录后才能评论