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);
}
}