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

相关文章

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu