JDBC操作數據庫之修改數據

1、在查詢並顯示數據庫books全部信息的JSP頁面Show.jsp頁面進行一些代碼的添加

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.List" %>
<%@ page import="com.Bean.Book" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>顯示數據庫中所有的圖書信息</title>
</head>
<body>
<table align="center" border="1">
	<caption>所有圖書信息</caption>
	<tr align="center">
		<td>ID</td>
		<td>圖書名稱</td>
		<td>價格</td>
		<td>數量</td>
		<td>作者</td>
		<td>修改數量</td>
		<td>刪除</td>
	</tr>
	<%
		List<Book> list = (List<Book>)request.getAttribute("list");
		if(list==null||list.size()<1){
			out.print("沒有數據!");
		}else{
			for(Book book:list){
	%>
	<tr align="center">
		<td><%=book.getId() %></td>
		<td><%=book.getName() %></td>
		<td><%=book.getPrice() %></td>
		<td><%=book.getBookCount() %></td>
		<td><%=book.getAuth() %></td>
		<td>
		<form method="post" action="UpdateServlet" οnsubmit="return check(this);">
			<input type="hidden" name="id" value=<%=book.getId() %>>
			<input type="text" name="bookCount" size="3">
			<input type="submit" value="修   改">
		</form>
		</td>
		<td><a href=""></a></td>
	</tr>
	<%
			}
		}
	%>
</table>
</body>
</html>
2、實現修改數據業務的Servlet類(UpdateServlet.java)

package com.Connection.Test;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * Servlet implementation class UpdateServlet
 * 對數據庫中的數據進行更改,此Servlet更改的是書籍的數量
 */
@WebServlet("/UpdateServlet")
public class UpdateServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public UpdateServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int id = Integer.valueOf(request.getParameter("id"));
		int bookCount = Integer.valueOf(request.getParameter("bookCount"));
		
		try {
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/test";
			String username = "root";
			String password = "12345";
			Connection conn = DriverManager.getConnection(url, username, password);
			
			String sql = "update books set bookCount=? where id=?";
			PreparedStatement pstmt = conn.prepareStatement(sql);
			
			pstmt.setInt(1, bookCount);
			pstmt.setInt(2, id);
			pstmt.executeUpdate();
			
			pstmt.close();
			conn.close();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		response.sendRedirect("FindServlet");
	}

}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章