Try   HackMD

ssm整合:修改和刪除書籍

tags: ssm整合

修改書籍

Controller層

//跳轉到修改頁面 @RequestMapping("/toUpdate") public String toUpdatePaper(Model model,int id){ Books books = bookService.queryBookById(id); model.addAttribute("QBook",books); return "updateBook"; } //修改書籍 @RequestMapping("/updateBook") public String updateBook(Books books){ System.out.println("updateBook=="+books); int i = bookService.updateBook(books); if(i > 0){ System.out.println("添加成功"+books); } return "redirect:/book/allBook"; }

allBook.jsp

<%--將當前點選的書籍ID,傳到updateBook頁面,以便知道要修改哪個資料--%> <a href="${pageContext.request.contextPath}/book/toUpdate?id=${book.bookID}">修改</a>

updateBook.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>修改書籍</title> <!-- 新 Bootstrap 核心 CSS 文件 --> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="row clearfix"> <div class="col-md-12 column"> <div class="page-header"> <h1> <small>修改書籍</small> </h1> </div> </div> </div> <form action="${pageContext.request.contextPath}/book/updateBook" method="post"> <%--出現的問題:提交了修改的SQL請求,但是修改失敗,初次考慮,是事務問題,配置完畢,依然失敗--%> <%--看一下SQL語句,能否執行成功:SQL執行失敗,修改未完成--%> <%--前端傳遞隱藏域--%> <input type="hidden" name="bookID" value="${QBook.bookID}"> <div class="form-group"> <label>書籍名稱:</label> <%--required:此欄位必須填寫--%> <input type="text" name="bookName" class="form-control" value="${QBook.bookName}" required> </div> <div class="form-group"> <label>書籍數量:</label> <input type="text" name="bookCounts" class="form-control" value="${QBook.bookCounts}" required> </div> <div class="form-group"> <label>書籍描述:</label> <input type="text" name="detail" class="form-control" value="${QBook.detail}" required> </div> <div class="form-group"> <input type="submit" class="form-control" value="修改"> </div> </form> </div> </body> </html>

測試

修改前

修改後


刪除書籍

Controller層

//刪除書籍 @RequestMapping("/deleteBook/{bookId}") public String deleteBook(@PathVariable("bookId") int id){ bookService.deleteBookByID(id); return "redirect:/book/allBook"; }

allBook.jsp

<a href="${pageContext.request.contextPath}/book/deleteBook/${book.bookID}">刪除</a>

測試

修改前

修改後

可能碰上的問題

1.SQL語法錯誤

2.名稱不能錯誤,連大小寫都不能錯