SSM整合——前后端协议联调

之前写的整合没有前端页面,这次添加上前端页面之后,在实现数据的增,删,查,改功能,使前后台可以联合起来,不会SSM整合的朋友可以看博主的前两篇文章

前端页面代码的链接小伙伴们可以自行提取

链接:https://pan.baidu.com/s/13CU3JwNPTQCJxo0pt1YDzA?pwd=6ssm 
提取码:6ssm

1.添加功能

1.在数据层接口中,加入增,删,查,改功能的方法

2.在业务层的接口中,同样定义增,删,查,改功能的方法

3.接着,在业务层中定义这些方法的实现类

4.在控制类中定义请求路径和返回体

package com.example.Controller;

import com.example.Pojo.Book;
import com.example.Service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.xml.crypto.Data;
import java.util.List;

@RestController
@RequestMapping("/book")
public class BookController {

    @Autowired
    private BookService bookService;

    @GetMapping("/{id}")
    public Result getById(@PathVariable Integer id) {
        Book book = bookService.getById(id);
        Integer code = book != null? Code.GET_OK:Code.GET_ERR;
        String msg = book != null? "查询成功":"查询失败";
        Result result = new Result(code,book,msg);
        return result;
    }

    @GetMapping("/all")
    public Result getAll() {
        List<Book> all_book = bookService.getAll();
        Integer code = all_book != null? Code.GET_OK:Code.GET_ERR;
        String msg = all_book != null? "查询成功":"查询失败";
        Result result = new Result(code,all_book,msg);
        return result;
    }

    @PostMapping("/save")
    public Result save(@RequestBody Book book) {
        boolean flag = bookService.save(book);
        return new Result(flag?Code.SAVE_OK:Code.SAVE_ERR,flag);
    }

    @DeleteMapping("/delete/{id}")
    public Result delete(@PathVariable Integer id) {
        boolean flag = bookService.delete(id);
        return new Result(flag?Code.DELETE_OK:Code.DELETE_ERR,flag);
    }

    @PutMapping("/update")
    public Result update(@RequestBody Book book) {
        boolean flag = bookService.update(book);
        return new Result(flag?Code.UPDATE_OK:Code.UPDATE_ERR,flag);
    }
}

2.放行页面请求

我们所以的请求路径都会被SpringMvc 给拦截下来,以至于会导致加载不出来页面,所以对于页面的请求路径需要放行

2.1定义放行配置类

2.2在SpringMvc配置类中加载放行配置类

3.定义功能执行成功或失败的代号

4.在books.html中编写前后台协议

4.1展示全部列表

当我们访问页面首页时,希望在页面首页看到所以的数据信息,我们就发送查询全部的请求,将得到的数据绑定到页面列表

后端协议:

前端展示:

4.2新建功能

4.2.1弹出新建窗口

点击新建之后,可以弹出添加数据的窗口,如果在上一次添加成功之后,不清除里面的数据,会导致在下一次窗口弹出时,会携带上一次的信息,所以弹出窗口的同时,需要重置表单

后端协议:

前端展示:

4.2.2添加数据

在弹出的添加数据的窗口里面写数据,写完后点击确定,如果添加失败则会显示“添加失败”,如果添加成功则会显示“添加成功”,同时会关闭新建窗口,同时调用 getAll() 方法刷新首页的列表,使新增数据能显示

后端协议:

4.3编辑功能

4.3.1弹出编辑窗口

编辑是为了对已有的数据进行修改,所以在编辑窗口中,要显示出之前的数据,可以先获取当前编辑行的 id ,然后根据 id 查询出数据,再把数据绑定到编辑窗口里面,最后再弹出编辑窗口

后端协议:

前端展示:

4.3.2修改数据

在弹出的编辑数据的窗口里面修改数据,修改完后点击确定,如果修改失败则会显示“修改失败”,如果修改成功则会显示“修改成功”,同时会关闭编辑窗口,最后调用 getAll() 方法刷新首页的列表,使修改后的数据能显示

后端协议:

4.4删除数据

点击删除,先弹出提示框,是否确定删除,如果不确定,点击取消,弹出消息“取消删除”,如果确定,点击确定按钮,会获取当前删除行的 id ,然后发送请求进行删除,如果删除失败则会显示“删除失败”,如果删除成功则会显示“删除成功”,最后调用 getAll() 方法刷新首页的列表,使删除后的列表能显示

后端协议:

前端展示:

5.整体架构

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在进行MyBatisPlus分页前后端联调时,你可以按照以下步骤进行操作: 1. 首先,确保你的项目中已经添加了MyBatisPlus的依赖,并且已经配置好了数据库连接信息和实体类映射关系。 2. 在前端页面中,你需要使用Vue和ElementUI进行页面的开发。可以利用ElementUI的表格组件来展示分页数据,并使用axios发送请求与后端进行数据交互。 3. 在后端代码中,你需要定义一个Controller来接收前端的请求,并调用相应的Service方法进行数据处理。在Controller中,你需要使用@RequestParam注解来接收前端传递的分页参数,如页码和每页显示数量。 4. 在Service层中,你需要定义一个方法来处理分页查询的逻辑。可以通过调用MyBatisPlus提供的分页查询方法来实现分页功能。使用Page对象来设置分页参数,然后调用Mapper的selectPage方法进行查询。 5. 将查询结果返回给Controller,并将结果封装成一个Page对象,包含总记录数和当前页的数据列表。 6. 最后,将Page对象返回给前端,前端可以根据返回的数据进行页面的展示和渲染。 通过以上步骤,你可以实现MyBatisPlus分页前后端联调,并在前端页面中展示分页数据。这样用户就可以通过前端页面进行分页查询和浏览数据了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [前后端联调实例-讲师管理](https://blog.csdn.net/qq_29645505/article/details/109432535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [springboot框架整合SSM案例-图书管理系统 源码分享](https://download.csdn.net/download/ebb29bbe/87628288)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

托马斯家的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值