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
     */
    @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; 


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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值