springboot-整合JDBC
1 搭建一个springboot项目
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的数据
刷新并查看数据库
删除成功
分类:
springboot-study
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!