SSM开发书评网33:后台六:图书删除功能;(以及,剩余任务说明……)

2023-12-04 07:40

本文主要是介绍SSM开发书评网33:后台六:图书删除功能;(以及,剩余任务说明……),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:

(1)本篇博客内容:【删除】功能;

(2)本篇博客的内容,很简单,没什么好说的;

目录

一:正式开发;

1.在BookService接口中,定义删除图书的方法:delete()方法;

2.在BookServiceImpl实现类中,去实现删除图书的方法:delete()方法;

3.在MBookController中,创建删除图书的方法:deleteBook()方法;

4.启动Tomcat,观察效果;

二:集成后台首页index.ftl;以及剩余任务说明……

1.把后台首页index.ftl,引入工程;

2.创建ManagementController,编写后台首页的入口;

3.启动Tomcat,观察效果;

4.设置index.ftl,让其主体部分,显示图书管理页 

5.重启Tomcat,观察效果:OK; 


 

一:正式开发;

1.在BookService接口中,定义删除图书的方法:delete()方法;

2.在BookServiceImpl实现类中,去实现删除图书的方法:delete()方法;

  /*** 删除图书(包括book表的图书信息,evaluation的评论信息,member_read_state表的阅读状态信息)** @param bookId*/@Transactionalpublic void deleteBook(Long bookId) {//删除book表中的图书信息bookMapper.deleteById(bookId);//删除member_read_state表的阅读状态信息QueryWrapper<MemberReadState> mrsQueryWrapper = new QueryWrapper<MemberReadState>();mrsQueryWrapper.eq("book_id", bookId);memberReadStateMapper.delete(mrsQueryWrapper);//删除evaluation的评论信息QueryWrapper<Evaluation> evaQueryWrapper = new QueryWrapper<Evaluation>();evaQueryWrapper.eq("book_id", bookId);evaluationMapper.delete(evaQueryWrapper);}

说明:

(1)删除方法,需要开启事务;

(2)分别根据bookId删除,book表、evaluation表、member_read_state表的内容;

(3)需要操作哪个表的时候,把该表对应的Mapper对象注入即可;

3.在MBookController中,创建删除图书的方法:deleteBook()方法;

    @GetMapping("/delete/{id}")@ResponseBodypublic Map deleteBook(@PathVariable("id") Long bookId) {Map result = new HashMap();try {bookService.deleteBook(bookId);result.put("code", 0);result.put("msg", "success");} catch (BussinessException ex) {ex.printStackTrace();result.put("code", ex.getCode());result.put("msg", ex.getMsg());}return result;}

说明:

(1)这个方法没什么好说的,url和前端对应上;用到了路径变量;然后调用service层的方法;然后,根据前端的需求返回对应的信息即可;

4.启动Tomcat,观察效果;

然后,我们点击【删除】按钮;

其实,通过系统的日志,也能看到上述过程:(这儿就不啰嗦了)


至此,后台系统的图书增删改查,就都完成了;这些内容,十分基本,是必须要掌握的;


二:集成后台首页index.ftl;以及剩余任务说明……

1.把后台首页index.ftl,引入工程;

index.ftl:


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>慕课书评网数据管理系统</title><link rel="stylesheet" href="/resources/layui/css/layui.css">
</head><body class="layui-layout-body">
<!-- Layui后台布局CSS -->
<div class="layui-layout layui-layout-admin"><!--头部导航栏--><div class="layui-header"><!--系统标题--><div class="layui-logo" style="font-size:18px">慕课书评网数据管理系统</div><!--右侧当前用户信息--><ul class="layui-nav layui-layout-right"><li class="layui-nav-item"><a href="javascript:void(0)"><!--图标--><span class="layui-icon layui-icon-user" style="font-size: 20px"></span><!--用户信息-->admin</a></li><!--注销按钮--><li class="layui-nav-item"><a href="/management/logout">注销</a></li></ul></div><!--左侧菜单栏--><div class="layui-side layui-bg-black"><!--可滚动菜单--><div class="layui-side-scroll"><!--可折叠导航栏--><ul class="layui-nav layui-nav-tree"><li class="layui-nav-item layui-nav-itemed"><a href="javascript:void(0)">数据管理</a><dl class="layui-nav-child module" data-node-id="xxx"><dd><a href="图书管理页.html" target="ifmMain">图书管理</a></dd><dd><a href="短评管理.html" target="ifmMain">短评管理</a></dd></dl></li></ul></div></div><!--主体部分采用iframe嵌入其他页面--><div class="layui-body" style="overflow-y: hidden"><iframe name="ifmMain" style="border: 0px;width: 100%;height: 100%" src="图书管理页.html"></iframe></div><!--版权信息--><div class="layui-footer">Copyright © imooc. All Rights Reserved.</div>
</div>
<!--LayUI JS文件-->
<script src="/resources/layui/layui.all.js"></script>
<script>//将所有功能根据parent_id移动到指定模块下layui.$(".function").each(function () {var func = layui.$(this);var parentId = func.data("parent-id");layui.$("dl[data-node-id=" + parentId + "]").append(func);});//刷新折叠菜单layui.element.render('nav');
</script>
</body>
</html>

2.创建ManagementController,编写后台首页的入口;

ManagementController:

package com.imooc.reader.controller.management;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;/*** 后台管理系统控制器*/
@Controller
@RequestMapping("/management")
public class ManagementController {@GetMapping("/index.html")public ModelAndView showIndex() {return new ModelAndView("/management/index");}
}

说明:

(1)这儿很简单,就是提供了后台首页index.ftl的访问入口;

(2)只需要注意下一下,这类的url是【"/management"】,这可以很好的和前台系统区分开;

3.启动Tomcat,观察效果;

4.设置index.ftl,让其主体部分,显示图书管理页 

5.重启Tomcat,观察效果:OK; 


至此,慕课书评网的,前后台基本开发完成了;

只是,还剩余【短评管理】和【后台登录】待开发……

这篇关于SSM开发书评网33:后台六:图书删除功能;(以及,剩余任务说明……)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452672

相关文章

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

SpringBoot整合Apache Spark实现一个简单的数据分析功能

《SpringBoot整合ApacheSpark实现一个简单的数据分析功能》ApacheSpark是一个开源的大数据处理框架,它提供了丰富的功能和API,用于分布式数据处理、数据分析和机器学习等任务... 目录第一步、添加android依赖第二步、编写配置类第三步、编写控制类启动项目并测试总结ApacheS