增删改查(Spring)

springmvc框架------增删改查 在如下图所示创建一个UserMapper.xml映射文件。 阅读详情

1、 简单概览
1.1、REST风格
REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格

在前后端分离的开发模式中,前后端开发人员都需要根据提前定义好的接口文档,来进行前后端功能的开发,而在前后端进行交互的时候,我们需要基于当前主流的REST风格的API接口进行交互

在REST风格的URL中,我们通过四种请求方式,来操作数据的增删改查。

1. GET : 查询

2. POST :新增

3. PUT :修改

4.DELETE :删除

1.2、 统一响应结果
前后端工程在进行交互时,使用统一响应结果 Result

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    private Integer code;//响应码,1 代表成功; 0 代表失败
    private String msg;  //响应码 描述字符串
    private Object data; //返回的数据
 
    //增删改 成功响应
    public static Result success(){
        return new Result(1,"success",null);
    }
    //查询 成功响应
    public static Result success(Object data){
        return new Result(1,"success",data);
    }
    //失败响应
    public static Result error(String msg){
        return new Result(0,msg,null);
    }
}


1.3、 开发流程
我们在进行功能开发时,都是根据如下流程进行:

1. 查询页面原型明确需求

2. 阅读接口文档:来完成前后端统一,防止出现不统一造成的问题

3. 思路分析

4. 接口开发:就是开发后台的业务功能,一个业务功能,我们称为一个接口

5. 接口测试:功能开发完毕后,先通过Postman进行接口测试,测试通过后,和前端进行联调测试

6. 前后端联调测试:和前端开发人员开发好的前端工程一起测试

1.4.、 Mapper层与Mappers文件的不同
在Mapper层使用Mybatis的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。

1.4.、 一般的操作流程

以下代码就是一个增加员工操作的全部流程:
我们通常在阅读需求以后去Controller层接收并响应请求,用到的方法我们先写上
我们用Alt+Enter点击报红的方法,让他去Service层创建抽象方法
这时候ServiceImpl实现类会提示错误,自然也是Alt+Enter点击,自动重写方法。
重写的方法我们需要按需求修改,跟第一步一样,用到的方法我们先写上,然后继续交给Idea
最后再去自动生成的Mapper层完成与数据库的交互即可


2.5.2、 工具类
我们需要创建一个Utils工具类包,来存放AliOssTest文件,文件内容如下

package com.itheima.Utils;
 
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
 
import com.itheima.pojo.AliOSSProperties;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
 
/**
 * 阿里云 OSS 工具类
 */
@Component
@Data
public class AliOSSUtils {
 
    @Autowired
    private AliOSSProperties aliOSSProperties;
 
    /**
     * 实现上传图片到OSS
     */
    public String upload(MultipartFile multipartFile) throws IOException {
        //数据设置
        String endpoint = aliOSSProperties.getEndpoint();
        String accessKeyId = aliOSSProperties.getAccessKeyId();
        String accessKeySecret = aliOSSProperties.getAccessKeySecret();
        String bucketName = aliOSSProperties.getBucketName();
 
        // 获取上传的文件的输入流
        InputStream inputStream = multipartFile.getInputStream();
 
        // 避免文件覆盖
        String fileName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss")) + multipartFile.getOriginalFilename();
 
        //上传文件到 OSS
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        ossClient.putObject(bucketName, fileName, inputStream);
 
        //文件访问路径
        String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;
        // 关闭ossClient
        ossClient.shutdown();
        return url;// 把上传到oss的路径返回
    }
 
}

2.5.3、 实体类
在pojo包下建立AliOSSProperties实体类

package com.itheima.pojo;
 
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
 
@Data
@Component
@ConfigurationProperties(prefix = "aliyun.oss") //指定配置文件
public class AliOSSProperties {
    private String endpoint;
    private String accessKeyId;
    private String accessKeySecret;
    private String bucketName;
}

2.5.4、 准备yml配置文件
我们首先应该把原本的application.properties配置文件里的内容替换为application.yml

1. 大小写敏感

2.  数值前边必须有空格,作为分隔符

3. 使用缩进表示层级关系,缩进时,不允许使用Tab键,只能用空格(idea中会自动将Tab转换为空格)

4. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

5. 表示注释,从这个字符一直到行尾,都会被解析器忽略

具体改法如下:

#数据库驱动
 

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#链接地址
spring.datasource.url=你的数据
#账号
spring.datasource.username=你的数据
#密码
spring.datasource.password=你的数据

spring:
 datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver #数据库驱动
  url: 你的数据 #链接地址
  username: 你的数据 #账号
  password: 你的数据 #密码
其中阿里云配置如下:

aliyun: #阿里云oss配置
 oss:
  endpoint: 你自己的 #oss外网访问地域节点
  accessKeyId: 你自己的 #ossAccessKeyId
  accessKeySecret: 你自己的 #ossaccessKeySecret
  bucketName: 你自己的 #ossBucket名称

Spring Boot 自定义应用开发框架九——基本增删改查“低代码”框架初设计3 前后端交互 未完待续 前面已经把后端需要处理的逻辑大致梳理了一遍,至于通过ibatis拦截器如何拼装新的SQL,网上有很多教程,找度娘即可。前端需要解决的问题有几个:1.每一个分页列表需要哪些字段2.这些字段哪些可以显示,哪些可以查询,哪些可以排序3.用于搜索的字段如何指定 等于、不等于、大于、模糊、in 等搜索方式。 阅读详情

相关推荐

spring简单的增删改查

1.导入jar 2.spring.xml放入src 3.user 实体类 private int id; private String username; private String password; package com.zhongruan.bean; public class User { private int id; private String username; private...

huishuohua的博客 819

使用Springboot实现简单的增删改查-超详细

使用Springboot实现简单的增删改查-超详细 (java小白,仅记录。不喜勿喷) php想转java,就想写个简单的增删改查。写惯了php,感觉java好复杂。 php一般就是定义路由,然后去控制器,去model层基本就ok了,很少用service。 java基本是先在entity包下定义实体类(和数据库字段一一对应的类) 然后编写mapper接口中的方法,然后编写service,然后编写Controller,然后再去xml文件中写sql,最后还要去编写application启动文件。基本等于倒过来

最美不过下雨天 5万+

Spring Boot 中使用 MongoDB 增删改查

本文快速入门,MongoDB 结合SpringBoot starter-data-mongodb 进行增删改查 1、什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。 MongoDB 文档类似于 JSON 对象。...

码农研习社 1396

一个简单的增删改查Spring boot项目教程(完整过程,附代码)(从搭建数据库到实现增删改查功能),Springboot学习,Springboot项目,

这里将会介绍怎么去搭建一个简单增删改查的Springboot项目,认真看完我相信你一定能够学会,并且附有完整代码;一个简单的增删改查Spring boot项目教程(完整过程,附代码)(从搭建数据库到实现增删改查功能),Springboot学习,Springboot项目,

hhhao88的博客 2万+

Spring初探之使用JdbcTemplate实现增删改查

前言 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate主要提供以下五类方法: execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句; update方法用于执行新增、修改、删除等语句; batchUpdate方法用于执行批处理相关语句; query方法及qu...

lks1139230294的博客 860

Spring MVC (6) spring MVC 写一个增删改查的小项目

今天,在这里总结一下之前写过的一个对员工信息进行增删改查的小项目,首先,先将必要的环境搭建好,员工和部门的实体类以及对应的dao如下部门实体类:package com.tanla.springmvc.crud.entities;public class Department { private Integer id; private String departmentName;

qq_34334390的博客 5969

spring + hibernate 增删改查

昨天完成spring+hibernate的查询的简单的功能今天准备插入的功能其他的配置都不改------>只是在testSpring里面----->的测试的添加的数据下面是查询添加的数据接下来修改名称修改成功接下来是删除删除成功30号的id没有啦今天准备看了一下mybatis的连接数据库连接池------>还有期末的项目,先完成---->一点一点的学习今天完成的事情:完成s...

thelostworld 159

Spring Boot:Web应用开发之增删改查的实现

Spring Boot Web应用开发之增删改查的实现介绍

啊Q老师 6793

Spring增删改查

Spring增删改查 新建一个项目spring 新建的时候要勾选web 在web里新建一个lib包,导入以下jar包 新建以下包和JAVA文件 增删改查实现的代码如下 User中代码 public class User { private int id; private String name; private String password; public ...

o_o_D_D的博客 646

Spring Boot 增删改查实战教程

Spring Boot 是基于 Spring 框架的扩展,旨在简化 Spring 应用的初始搭建与开发。通过自动配置(Auto-Configuration)和起步依赖(Starter Dependencies),Spring Boot 显著减少了传统 Spring 项目中繁琐的 XML 配置和依赖管理。其内嵌的 Tomcat、Jetty 等 Web 容器,使得开发者可以快速构建可独立运行的 Spring 应用。

weixin_26805451的博客 1023

增删改查流程

写ssh登录+SqlServer2005的流程:

Spring Data ElasticSearch的常用操作——增删改查

1.配置和准备Spring Data ElasticSearch请参考上一篇文章:https://blog.youkuaiyun.com/u013168084/article/details/105537539 2.增删改查方法测试 public interface ArticleService { //保存 public void save(Article article); ...

梦忆故城的博客 1492

哈工大2024春大数据挖掘期末考试回忆版试题

(3)现有一个用户数量远多于物品(还是物品远多于用户,忘了是哪个了)的情景,应该使用基于user-user的推荐系统还是item-itmen的推荐系统,说明原因。(1)L是n*n拉普拉斯矩阵,x是一个n*1列向量,证明对任意的x,(x)^TLx>=0(6分)(3)证明:p到o的K-可达距离,至少是o的K-distance(2分)(2)(1)的结果说明竞争率的上界是多少?(2)考Gain的意义,如何利用Gain选择划分点(2分)(2)说明如何利用划分后的数据进行验证(2分)(2)k可达距离是对称的吗?

ymd2002的博客 1891

spring JdbcTemplate增删改查

配置spring内置的连接池DriverManagerDataSource <bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mys...

BullZeng的博客 1259

# ubuntu 系统使用 yum命令报错 There are no enabled repos.Run “yum repolist all“ to see the repos you have...

# ubuntu 系统使用 yum命令报错 There are no enabled repos.Run "yum repolist all" to see the repos you have.You can enable repos with yum-config-manager --enable

段子手168的博客 6683

抖音用户评论和ID的采集方法

随着5G时代的普及,各大运营商的套餐纷纷推出,使得流量成本进一步降低。同时5G线路高宽带、低延迟的技术特性和手机普及,让视频用户访问量快速增加。 由于大量的视频工具和拍摄APP的提供,让短视频的拍摄、制作包括发行都变得更加简单便捷,越来越多的普通人可以投入视频创作,创造了更丰富的互联网内容,视频作者从视频推广中能获取粉丝和推广收益。 目前抖音就是目前最重要的短视频平台之一,要及时获取上面的用户评论和ID,需要结合爬虫代理实现采集方案,下面的代码就能快速采集相关信息: package htmlunit; i

ssbt_2020的博客 6787

spring boot+jpa实现简单的增删改查

本文简单介绍一下spring boot+JPA实现简单的增删改查功能   一、项目结构简述 二、搭建spring boot+jap环境 三、代码示例 四、spring boot的启动方式   一、项目结构简述   1、项目的目录结构注意点   问题说明: ①使用内置服务器启动springboot项目时,会从@SpringBootApplication修饰类所在的包开...

u013777494的博客 4658

ESP32-S3双模CMSIS-DAP调试器:USB+WiFi无线调试方案

CMSIS-DAP是ARM生态中标准化的嵌入式调试协议接口,广泛用于Keil、IAR、STM32CubeIDE等开发环境。其核心原理是通过SWD/JTAG物理层实现目标芯片寄存器访问、内存读写与断点控制,依赖确定性时序和低延迟通信。传统DAPLink调试器受限于USB线缆束缚,而WiFi-USB-DAPLink项目将完整CMSIS-DAP v2协议栈移植至ESP32-S3平台,同时支持USB CDC直连与WiFi TCP远程通道,兼顾实时性与网络化部署能力。该方案无需主机驱动、兼容主流IDE,并支持多机并发

weixin_31185473的博客 369

Spring入门——增删改查基本操作

一、创建Java Web Application项目 1、在Web Application项目下创建一个module,自定义名字,在module——src——web——WEB-INF目录下创建lib文件夹,将spring框架所需的jar包放入其中,再全部选中jar包进行添加。 2、在module的src目录下,创建xml文件,首先要在文件中复制以下代码 <?xml ve...

潇潇的博客 1138

高效复用PCB设计:Cadence Sub-Drawing跨项目复制技巧

本文详细介绍了Cadence Allegro中Sub-Drawing功能的应用技巧,帮助PCB工程师高效复用成熟设计模块。通过分步教学,从精准导出到完美导入,并提供了解决坐标错位与DRC冲突的实用避坑指南。掌握这一技巧能显著提升设计效率,实现团队知识的标准化积累与快速复用。

weixin_29172201的博客 397

STM32 BootLoader 入门教程:从原理到 APP 跳转实现

在 STM32 项目开发中,BootLoader 通常用于实现固件升级、程序引导和应用程序校验。本文从最基础的 BootLoader 原理开始,讲解 STM32 内部 Flash 分区设计、APP 地址偏移、向量表重定位、BootLoader 跳转 APP 的核心代码,以及实际开发中常见的问题。本文适合刚开始接触 STM32 BootLoader、IAP 在线升级、串口升级、OTA 升级的开发者阅读。

lidecong133的博客 1668

Spring实现增删改查

使用sping的Ioc的实现账户的CRUD(增删改查) 使用的知识点: QueryRunner:SQL语句的操作对象,可以设置查询结果集的封装策略 创建方法:QueryRunner runner=new QueryRunner(dataSource) ResultSetHandler:封装数据的策略的对象 BeanHandler:将SQL查询的结果集转换成一个javaBean Acc...

风一般的男子·小亮仔 6869

Codex 100个真实案例 - 全系列总结与Codex最佳实践全解析

历经100个案例的淬炼,我们终于来到了终点!本篇是整个系列的压轴之作——全面回顾100个案例的分类统计、提炼Codex使用的核心技巧和最佳实践、总结Prompt工程的精华要点、剖析常见错误及解决方案、展望AI编程的未来趋势,并为不同水平的读者规划学习路径。这不仅是一篇总结,更是一本Codex实战手册!

yueyeguzhuo的专栏 136

【Spring-Jdbc】简单的增删改查

1 简介2 使用2.1 导入依赖2.2 配置数据源2.3 配置jdbcTemplate2.4 查询2.5 新增2.6 修改2.7 删除 1 简介 Spring框架对于数据库的支持是有的,在springJdbc中,为我们提供了一个Jdbc Template模版类,其中为我们大量的封装数据库操作方法。 2 使用 2.1 导入依赖 <dependencies> <!--Spring上下文--> <dependency> <groupId>

MY9_19的博客 432

【安全设备篇】HVV面试专题

还有就是这个可能是被访问的这个内网系统,本身业务系统存在业务逻辑问题,因为内网所布置的很多业务系统往往不会考虑一些安全性问题,比如在正常的业务逻辑请求中直接带了sql语句,就会触发设备规则产生告警,这一类是属于误报,然后会将此告警上报给研判人员,需要研判组专家和甲方客户确认下是否是该系统存在此业务逻辑问题,并且需要确认告警的源ip在此告警的时间段附近有没有进行操作过。天眼日志分析主要基于系统和应用程序的日志数据来识别安全威胁,而威胁感知则通过收集和分析多种来源的情报信息。理解威胁的性质和威胁背后的原理。

大河之犬的博客 7924

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spring 增删改查

Lord_ZPP的博客 218

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 数据库开发—MySQL
下一篇: 文件上传的实现步骤
HunYuanXing
博客等级 码龄3年 1粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值