package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; 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 Edit */ @WebServlet("/edit.do") public class Edit extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Edit() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse * response) */ protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { //根據ID查詢 String id = request.getParameter("id");//獲取參數--需要修改得記錄的ID System.out.println(id); //設置數據庫連接參數 String url = "jdbc:mysql://localhost:3306/庫名?serverTimezone=UTC"; String user = "用戶名"; String password = "密碼"; //加載數據庫驅動 try { Class.forName("com.mysql.jdbc.Driver");// 加載數據庫的JDBC驅動程序 } catch (ClassNotFoundException e) { e.printStackTrace(); } Customer customer = new Customer(); try (Connection connection = DriverManager.getConnection(url, user, password)) {//連接數據庫 //設置預處理語句,customers為表名 String sql = "SELECT*FROM customers where customerID= ? "; PreparedStatement statement = connection.prepareStatement(sql);//預處理sql語句 /* * statement.setInt(1, Integer.parseInt(id));//Integer.parseInt(id)將字符串類型轉換成整型 */ int _id = Integer.parseInt(id); statement.setInt(1, _id); ResultSet rs = statement.executeQuery(); while (rs.next()) { // 將數據庫的數據轉換成POJO實例 customer.setCustomerID(rs.getInt("CustomerID")); customer.setCustomerName(rs.getString("CustomerName")); customer.setContactName(rs.getString("ContactName")); customer.setAddress(rs.getString("Address")); customer.setCity(rs.getString("City")); customer.setPostalCode(rs.getString("PostalCode")); customer.setCountry(rs.getString("Country")); } rs.close(); statement.close(); } catch (SQLException e) { e.printStackTrace(); } request.setAttribute("customer", customer);//將獲取POJO實例傳遞到edit界面 request.getRequestDispatcher("edit.jsp").forward(request, response); } }