增刪改查Spring+MyBatis實戰版,給原老師一個交代
阿新 • • 發佈:2018-12-16
其實這次寫這個增刪改查,我的收穫很大,在同學的幫助下和老師的推動下,我也是學會了很多的技能點。
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.修改資料
卒...........
未完待續...明天再補