说明:
(1)本篇博客内容:【删除】功能;
(2)本篇博客的内容,很简单,没什么好说的;
目录
1.在BookService接口中,定义删除图书的方法:delete()方法;
2.在BookServiceImpl实现类中,去实现删除图书的方法:delete()方法;
3.在MBookController中,创建删除图书的方法:deleteBook()方法;
2.创建ManagementController,编写后台首页的入口;
一:正式开发;
1.在BookService接口中,定义删除图书的方法:delete()方法;
2.在BookServiceImpl实现类中,去实现删除图书的方法:delete()方法;
/** * 删除图书(包括book表的图书信息,evaluation的评论信息,member_read_state表的阅读状态信息) * * @param bookId */ @Transactional public 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}") @ResponseBody public 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;
至此,慕课书评网的,前后台基本开发完成了;
只是,还剩余【短评管理】和【后台登录】待开发……