SpringBoot整合Mybatis(3)——实现增删改查(RESTful风格)

tech2026-03-28  0

  在进行RESTful风格介绍前,介绍两个注解,@RestController 以及 @Controller

@Controller

@Controller 返回一个页面

  单独使用 @Controller 不加 @ResponseBody的话一般使用在要返回一个视图的情况,这种情况属于比较传统的Spring MVC 的应用,对应于前后端不分离的情况。

@RestController

@RestController 返回JSON 或 XML 形式数据

  但@RestController只返回对象,对象数据直接以 JSON 或 XML 形式写入 HTTP 响应(Response)中,这种情况属于 RESTful Web服务,这也是目前日常开发所接触的最常用的情况(前后端分离)。

@Controller + @ResponseBody 返回JSON 或 XML 形式数据

  如果你需要在Spring4之前开发 RESTful Web服务的话,你需要使用@Controller并结合**@ResponseBody** 注解,也就是说 @Controller +@ResponseBody = @RestController(Spring 4 之后新加的注解)。

  @ResponseBody 注解的作用是将 Controller 的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到HTTP 响应(Response)对象的 body 中,通常用来返回 JSON 或者 XML 数据,返回 JSON 数据的情况比较多。

1. RESTful介绍

  一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

RESTful特点包括:

1、每一个URI代表1种资源; 2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源(PATCH则比较少用到); 3、通过操作资源的表现形式来操作资源; 4、资源的表现形式是XML或者HTML; 5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

2. RESTful开发

2.1 如何使用

Http方法资源操作GETSELECTPOSTINSERTPUTDELETEDELETEDELETE

2.2 Controller层

package com.fzw.controller; import com.fzw.entity.Dept; import com.fzw.service.DeptService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; @Controller @RequestMapping("dept") public class DeptController { @Autowired private DeptService deptService; @GetMapping("/findAll") public List<Dept> findAll(){ return deptService.findAll(); } @GetMapping("/findById/{id}") public Dept findById(@PathVariable int id){ return deptService.findById(id); } @PostMapping("/add") public boolean add(@RequestBody Dept dept){ return deptService.add(dept); } @DeleteMapping("/delete/{id}") public boolean delete(@PathVariable int id){ return deptService.delete(id); } @PutMapping("/update") public boolean update(@RequestBody Dept dept){ return deptService.update(dept); } }

关于配置文件,以及实体类,Service层,Dao层参考SpringBoot整合Mybatis(2)——实现增删改查。

2.3 测试

使用Postman进行测试,根据前面所写的表格内容,在进行操作时选择相应的请求方式。

2.3.1 查询数据

2.3.1.1 查询所有数据

2.3.1.2 按条件查询

2.3.2 添加数据

此时使用 POST 方式进行访问时,需要加请求体内容,在此处也就是需要在请求体中放入实体类信息,在Postman中如何设置,在下面已经详细标出

通过这张图,我们可以看到返回结果为true,证明请求成功,访问方式为Post。 返回数据库进行验证:

数据库中确实添加成功了。

2.3.3 删除数据

使用 DELETE 请求方式,删除deptno=30的数据,执行后,结果如下

同样返回true,证明也删除成功,继续返回数据库查看结果

此时数据库中deptno为30的相关数据已经不存在了。

2.3.4 更新数据

使用 PUT 请求方式进行访问,同样也需要添加修改的实体信息

更新前的数据库内容: 进行更新操作:

进行更新操作后,返回结果为true,返回数据库,查看更新后的数据库内容:

数据库内容发生了变化,证明也更新成功了。   至此,SpringBoot整合Mybatis实现RESTful开发就基本完成了,在如今开发常用的前后端分离的情况下,相信此文一定对大家有帮助。

  另外,在本人公众号上还会有更多的更新,以及一些优质资源分享给大家,希望大家一起交流学习。

公众号:搜索【程序猿小F】

最新回复(0)