springboot-整合JDBC

1 搭建一个springboot项目

参考地址:springboot-hello world

2 在pom.xml中引入依赖

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

这一步也可以选择,在创建项目时自动导入

3 编写数据库连接配置

在 resources 下新建一个 application.yaml 文件,并编写数据库的连接信息,这里连接了mybatis数据库

application.yaml

spring:
datasource:
username: root
password: 123456
#假如时区报错了,就增加一个时区配置就OK了 serverTimezone=UTC
url: jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver

4 测试查看数据源

编写springboot自动生成的测试类

src/test/java/com/lv/Springboot04DataApplicationTests.java

package com.lv;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
@SpringBootTest
class Springboot04DataApplicationTests {
@Autowired
DataSource dataSource;
@Test
void contextLoads() throws SQLException {
//查看一下默认的数据源 com.zaxxer.hikari.HikariDataSource
System.out.println(dataSource.getClass());
//获得数据库链接
Connection connection = dataSource.getConnection();
System.out.println(connection);
//xxx Template : SpringBoot已经配置好模板bean,拿来即用 CRUD
//关闭
connection.close();
}
}

运行测试类,查看控制台

5 编写CRUD

新建一个controller包并在该包下新建一个JdbcController,在里面编写增删改查方法,这里以user表为例

JdbcController.java

package com.lv.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@RestController
public class JdbcController {
@Autowired
JdbcTemplate jdbcTemplate;
//查询数据库的所有信息
//没有实体类,数据库中的东西,怎么获取? Map
@GetMapping("/userList")
public List<Map<String,Object>> userList(){
String sql = "select * from user";
List<Map<String,Object>> list_maps = jdbcTemplate.queryForList(sql);
return list_maps;
}
//增加数据
@GetMapping("/userAdd")
public String addUser(){
String sql = "insert into user(id,name,pwd) values(4,'admin4','123456')";
jdbcTemplate.update(sql);
return "add-ok";
}
//修改数据
@GetMapping("/userUpdate/{id}")
public String userUpdate(@PathVariable("id") int id){
String sql = "update user set name=?,pwd=? where id = "+id;
Object[] params = {"嘿嘿","000000"};
jdbcTemplate.update(sql,params);
return "update-ok";
}
//删除数据
@GetMapping("/userDelete/{id}")
public String userDelete(@PathVariable("id")int id){
String sql = "delete from user where id = ?";
jdbcTemplate.update(sql,id);
return "delete-ok";
}
}

6 测试

查看user数据表

启动程序,访问userList请求

数据查询成功,访问userAdd请求

刷新并查看数据库

数据添加成功,接下来访问userUpdate请求并传递参数

刷新并查看数据库

数据修改成功,最后访问userDelete请求,删除id为4的数据

刷新并查看数据库

删除成功

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示