1. 程式人生 > >增刪改查Spring+MyBatis實戰版,給原老師一個交代

增刪改查Spring+MyBatis實戰版,給原老師一個交代

其實這次寫這個增刪改查,我的收穫很大,在同學的幫助下和老師的推動下,我也是學會了很多的技能點。

1.顯示資料

顯示資料對我而言可以說很好做,因為我以前增刪改查做了有N遍,但是我卻每次都是無功而返,半途而廢。

查詢為什麼簡單,因為查詢不需要傳入引數,sql語句不需要進行判斷,只需要把所有資料顯示出來就好了。

關鍵程式碼:

servlet:

  List<Book> list = null;
            list = bookService.selectAll();
            request.setAttribute("bookN",list);
            request.getRequestDispatcher(
"book.jsp").forward(request,response);

頁面:

<body>

<table class="providerTable" >
    <tr class="firstTr">
        <th>圖書編碼</th>
        <th >圖書名稱</th>
        <th >作者</th>
        <th >價錢</th>
    </tr>
    <%
        List
<Book> list2 = (List<Book>)request.getAttribute("bookN"); for (Book item:list2){%> <tr> <td name="bid"><%=item.getBookId()%></td> <td><%=item.getBookName()%></td> <td><%=item.getBookPc()%></td> <td><%=item.getBookMy()%></td> <td> <a href="insertBook.jsp" >新增</a> <a href="${pageContext.request.contextPath}/bookServlet?action=deleteOne&id=<%=item.getBookId()%>">刪除</a> <a href="${pageContext.request.contextPath}/bookServlet?action=updateOne&id=<%=item.getBookId()%>" >修改</a> </td> </tr> <% }
%> <br> <br> </table> <br> </body>

2.新增資料

新增資料返回值是一個int型別或者double型別,對我而言也是簡單,不需要引數,而我也是在以前每次寫完查詢和新增應該就不會寫了。

關鍵程式碼:

servlet:

 if ("insertOne".equals(action)){
            Book book=new Book();
            book.setBookName(request.getParameter("NameOne"));
            book.setBookPc( request.getParameter("PcOne"));
            book.setBookMy(Integer.valueOf(request.getParameter("MyOne")));
            int count=0;
            try {
               count  = bookService.insertOne(book);
                if (count>0){
                    request.getRequestDispatcher("/bookServlet?action=login").forward(request,response);
                }else {
                    response.sendRedirect("/insertBook.jsp");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

        }

頁面:

<body>
    <form action="/bookServlet?action=insertOne" method="post">
        圖書名稱<input type="text" name="NameOne"><br>
        圖書作者<input type="text" name="PcOne"><br>
        圖書價格<input type="text" name="MyOne" onkeyup='this.value=this.value.replace(/\D/gi,"")'>
        <input type="submit" value="提交">
    </form>
</body>

3.刪除資料

刪除資料需要傳入一個引數用於作為刪除的條件,返回也是int或double,對我而言刪除看似不難,其難。因為刪除需要獲取到頁面上動態資料的某一列用來作為條件。所有怎麼獲取一列對我而言是個難點,但今天我明白了。

關鍵程式碼:

servlet:

if ("deleteOne".equals(action)){
            System.out.println("進入刪除的方法");
            Book book=new Book();
            int id = Integer.valueOf(request.getParameter("id"));
            book.setBookId(id);
            try {
                int count = bookService.deleteOne(book);
                if (count>0){
                    request.getSession().setAttribute("ids",id);
                    request.getRequestDispatcher("/bookServlet?action=login").forward(request,response);
                }
                else {
                    response.sendRedirect("book.jsp");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

頁面:

  <a href="${pageContext.request.contextPath}/bookServlet?action=deleteOne&id=<%=item.getBookId()%>">刪除</a>//標紅的程式碼是用來獲取網頁上的動態資料的關鍵程式碼。

4.修改資料

卒...........

 

未完待續...明天再補