Spring Boot | 整合持久层 - JDBCTemplate

本文介绍了如何在SpringBoot项目中整合并使用JDBCTemplate进行数据库操作,包括创建数据库表、引入相关依赖、配置数据库连接、实现CRUD操作并在实际测试中验证其功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、JDBCTemplate 简介

JDBCTemplate 是 Spring 提供的一套 JDBC 模板框架,其对 JDBC 进行了大量封装,避免了原生 JDBC 中大量的冗余代码,相比原生 JDBC 更为简便易用。Spring Boot 对其提供了自动化配置,我们只需要简单几步便能将其整合到项目中。

二、整合 JDBCTemplate

整合一般来说分为以下几个步骤:导入依赖 -> 编写配置文件 -> 程序中使用,具体步骤如下:

1、创建数据库表

创建数据库 springboot-data,学生表 student

drop database if exists `springboot-data`;
create database `springboot-data`;
use `springboot-data`;

drop table if exists `student`;
create table `student`
(
   `id`                   int(10) not null auto_increment,
   `name`                 varchar(20) not null,
   `pwd`                  varchar(20) not null,
   primary key (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

insert into `student` (`name`,`pwd`)
values 
('小明','123456'),
('小华','234567'),
('小红','345678');

2、导入相关依赖

创建一个 Spring Boot 项目(默认添加 web 依赖)
pom.xml 中 引入 spring-boot-starter-jdbcmysql-connector-java 依赖:

		<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>

3、编写配置文件

resources 目录下创建配置文件 application.yaml,配置数据库连接的相关参数:

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/springboot-data?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver

4、实现 CRUD 操作

创建 controller 包,其下创建 JDBCController ,实现CRUD 操作:

@RestController
@RequestMapping("/students")
public class JDBCController {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @GetMapping("/list")
    public List<Map<String,Object>> userList() {
        String sql = "select * from student";
        List<Map<String, Object>> list_maps = jdbcTemplate.queryForList(sql);
        return list_maps;
    }

    @GetMapping("/add")
    public String addUser() {
        String sql = "insert into student(name,pwd) values ('小强','456789')";
        jdbcTemplate.update(sql);
        return "add success!";
    }

    @GetMapping("/update/{id}")
    public String updateUser(@PathVariable("id") int id) {
        String sql = "update student set name=?,pwd=? where id=" + id;
        Object[] objects = new Object[2];
        objects[0] = "小强222";
        objects[1] = "6666666";
        jdbcTemplate.update(sql,objects);
        return "update success!";
    }

    @GetMapping("/delete/{id}")
    public String deleteUser(@PathVariable("id") int id) {
        String sql = "delete from student where id=?";
        jdbcTemplate.update(sql,id);
        return "delete success!";
    }

}

5、测试 CRUD

1、运行程序,在浏览器地址栏中输入 http://localhost:8080/students/list
在这里插入图片描述
可以看到,数据表中所有记录以 JSON 的形式返回

2、输入 http://localhost:8080/students/add
在这里插入图片描述
可以看到数据表中新增了第 4 条记录

3、输入 http://localhost:8080/students/update/4
在这里插入图片描述
可以看到第 4 条记录的 name 字段被修改

4、输入 http://localhost:8080/students/delete/4
在这里插入图片描述
可以看到第 4 条记录被删除

至此,Spring Boot 整合 JDBCTemplate 实现基本的 CRUD 操作已完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值