SpringBoot系列:使用原生JDBC实现对数据库的增删改查
application.yml
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
ApplicationTests
package com.xiao; 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() { System.out.println(dataSource.getClass());
//获得数据库链接
try {
Connection connection= dataSource.getConnection();
System.out.println(connection);
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
} } }
JDBCController
package com.xiao.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; @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("/addUser")
public String addUser(){
String sql="insert into mybatis.user(id,name,pwd) values(4,'小如','123456')";
jdbcTemplate.update(sql);
return "ok";
} @GetMapping("/updateUser/{id}")
public String updateUser(@PathVariable("id") int id){
String sql="update mybatis.user set name=?,pwd=? where id="+id;
Object[] objects=new Object[2];
objects[0]="小品";
objects[1]="3745678";
jdbcTemplate.update(sql,objects);
return "ok";
} @GetMapping("/deleteUser/{id}")
public String deleteUser(@PathVariable("id") int id){
String sql="delete from mybatis.user where id=?";
jdbcTemplate.update(sql,id);
return "ok";
}
}
使用springboot后,你会发现,即便是原生JDBC来进行CRUD,依然十分的简便,因为springboot帮我们做了很多事,一个DataSource,一个JdbcTemplate就省去了很多很多我们原先需要做的事了。
SpringBoot系列:使用原生JDBC实现对数据库的增删改查的更多相关文章
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- 通过jdbc连接MySql数据库的增删改查操作
一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...
- jsp+servlet+jdbc实现对数据库的增删改查
一.JSP和Servlet的简单介绍: 1.Servlet和JSP简介: Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP,Servlet是在服务器端执行的Java程序,一个 ...
- 使用JDBC连接MySQL数据库操作增删改查
目录 1.首先这个Myeclipse的包名以及一些实现的类(这样子写是我的习惯) 2.接下来我们创建数据库(MySQL) 3.在数据库里面添加数据 4.首先是BaseDao,这个是重中之重,注意那个数 ...
- 用SpringBoot+MySql+JPA实现对数据库的增删改查和分页
使用SpringBoot+Mysql+JPA实现对数据库的增删改查和分页 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述 ...
- DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)
DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类) 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据 ...
- Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查
前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- 利用SpringBoot实现数据库的增删改查(具体实现)
前言 本次主要是想利用SpringBoot的框架实现一下数据库的增删改查,所以只有一个较为简单的表作为案例 具体实现 1.在配置文件中配置一下相关内容 2.在pom.xml文件中导入相关坐标 3.编写 ...
随机推荐
- 在Python中doc转docx,xls转xlsx,ppt转pptx(Windows)
在Python中doc转docx,xls转xlsx,ppt转pptx(Windows) 说明: 首次发表日期:2024-07-18 参考pypi包: doc2docx 缘起 我们一般使用Python开 ...
- Docker Compose在Centos下的安装与卸载
实践环境 Centos7.8 先决条件 已安装Docker Engine 安装Docker Compose 运行以下命令下载稳定版本Docker Compose $ sudo curl -L &quo ...
- hmall | 引入ES实现高效搜索与同步双写
在gitee.飞书.百度云.B站中,黑马都没有上传该部分资料,以下皆为个人观点,如有纰漏欢迎指正 1.先把item-service中的searchcontroller抽出来,抽到一个模块中并将其设为h ...
- Activity活动生命相关
启动与结束 页面跳转: startActivity(new Intent(this,xxxx.class)); 关闭当前界面返回上一界面 finish(); //这里我在使用finish遇到一个问题, ...
- 简单写写IO流里的一些高级流
缓冲流Buffered:缓冲流是一种高级的流,他可以对file类的流进行包装,内部含有一种缓冲池,可以在一定程度上提高IO的读写效率 不过,按实验来看,只要给低级流和缓冲流相似的byte读写,其实两者 ...
- PKUWC2024游记
PKUWC2024 游记 day -???? 得知今年冬令营在育才,非常高兴不用出远门了. day 1 当天上午 7:00 起来,然后做车去报道,非常堵车.感觉育才环境挺好的,~不像某人在读学校一样. ...
- Python常见错误及处理
1.ValueError 值错误,传递给函数的变量不符合函数预期类型.如下'python'是非数字无法转换为整数类型,故会报错ValueError 将a改为数字就不会报错了 2.NameError 变 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-60 - 判断元素是否显示 - 下篇
1.简介 有些页面元素的生命周期如同流星一闪,昙花一现.我们也不知道这个元素在没在页面中出现过,为了捕获这一美好瞬间,让其成为永恒.我们就来判断元素是否显示出现过. 在操作元素之前,可以先判断元素的状 ...
- 02 IO口的操作
目录 前言 一.IO的概念 1.IO接口 2.IO端口 二.CPU和外设进行数据传输的方法 1.程序控制方式 1.1 无条件 1.2 查询方式 2.中断方式 3.DMA方式 一.方法介绍和代码编写 1 ...
- 【OracleDB】 03 数据类型和常见对象概述
我们可以通过PLSQL来查看Oracle的数据类型 总分类: - 字符型 1.CHAR 0 - 2000 字节 固定长度字符串 2.NCHAR 0 - 1000 字节 固定长度字符串[Unicode字 ...