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

相关文章

电脑不小心删除的文件怎么恢复?4个必备恢复方法!

“刚刚在对电脑里的某些垃圾文件进行清理时,我一不小心误删了比较重要的数据。这些误删的数据还有机会恢复吗?希望大家帮帮我,非常感谢!” 在这个数字化飞速发展的时代,电脑早已成为我们日常生活和工作中不可或缺的一部分。然而,就像生活中的小插曲一样,有时我们可能会在不经意间犯下一些小错误,比如不小心删除了重要的文件。 当那份文件消失在眼前,仿佛被时间吞噬,我们不禁会心生焦虑。但别担心,就像每个问题

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

android 免费短信验证功能

没有太复杂的使用的话,功能实现比较简单粗暴。 在www.mob.com网站中可以申请使用免费短信验证功能。 步骤: 1.注册登录。 2.选择“短信验证码SDK” 3.下载对应的sdk包,我这是选studio的。 4.从头像那进入后台并创建短信验证应用,获取到key跟secret 5.根据技术文档操作(initSDK方法写在setContentView上面) 6.关键:在有用到的Mo

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

WDF驱动开发-WDF总线枚举(一)

支持在总线驱动程序中进行 PnP 和电源管理 某些设备永久插入系统,而其他设备可以在系统运行时插入和拔出电源。 总线驱动 必须识别并报告连接到其总线的设备,并且他们必须发现并报告系统中设备的到达和离开情况。 总线驱动程序标识和报告的设备称为总线的 子设备。 标识和报告子设备的过程称为 总线枚举。 在总线枚举期间,总线驱动程序会为其子 设备创建设备对象 。  总线驱动程序本质上是同时处理总线枚

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

【机器学习】半监督学习可以实现什么功能?

目录 一、什么是机器学习二、半监督学习算法介绍三、半监督学习算法的应用场景四、半监督学习可以实现什么功能? 一、什么是机器学习 机器学习是一种人工智能技术,它使计算机系统能够从数据中学习并做出预测或决策,而无需明确编程。它涉及到使用算法和统计模型来分析大量数据,识别其中的模式和关系,并利用这些信息来预测未来事件或做出决策。机器学习可以应用于各种领域,包括图像识别、自然语言

BD错误集锦6——【IDEA报错】tomcat server功能无效,报错Java EE: EJB, JPA, Servlets

在网上查找原因,发现是非法关闭IDEA导致的。 Open Settings | Plugns and enable it. 在设置中enable JAVA EE和tomcat server即可。 参考: https://stackoverflow.com/questions/43607642/intellij-idea-plugin-errorproblems-found-loadin