Java基础、中级、高级、架构面试资料

SpringBoot + JDBC(数据访问)教程

JAVA herman 5615浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

在某些应用中,可能会要求我们使用原生的 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 的朋友,可以继续的关注我的个人博客!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » SpringBoot + JDBC(数据访问)教程