MVC设计模式——查询/删除
流程图
student.java
package com.demo.javaweb; import java.io.Serializable; public class Studentx { private int id; private String name; private String password; public Studentx(int id, String name, String password) { this.id = id; this.name = name; this.password = password; } public Studentx() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + ", password='" + password + '\'' + '}'; } }
studentDAO
import com.demo.javaweb.Studentx; import java.sql.*; import java.util.ArrayList; import java.util.List; public class StudentDAO { public void deleteOne(Integer id){ Connection conn = null; PreparedStatement prep = null; ResultSet resultSet = null; try { String driverClass = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/yang"; String user = "root"; String password = "password"; Class.forName(driverClass); conn = DriverManager.getConnection(url, user, password); String sql = "DELETE FROM STUDENT WHERE ID = ?"; prep = conn.prepareStatement(sql); prep.setInt(1,id); prep.executeUpdate(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (resultSet != null) { resultSet.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (prep != null) { prep.close(); } } catch (SQLException e) { e.printStackTrace(); } } } public List<Studentx> getAll() { List<Studentx> list = new ArrayList<>(); Connection conn = null; PreparedStatement prep = null; ResultSet resultSet = null; try { String driverClass = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/yang"; String user = "root"; String password = "password"; Class.forName(driverClass); conn = DriverManager.getConnection(url, user, password); String sql = "SELECT * FROM STUDENT"; prep = conn.prepareStatement(sql); resultSet = prep.executeQuery(); while (resultSet.next()) { int id = resultSet.getInt(1); System.out.println(id); String name = resultSet.getString(2); System.out.println(name); String pwd = resultSet.getString(3); System.out.println(pwd); Studentx stu = new Studentx(id, name, pwd); list.add(stu); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (resultSet != null) { resultSet.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (prep != null) { prep.close(); } } catch (SQLException e) { e.printStackTrace(); } } return list; } }
servlet
1.listallstudents
public class ListAllStudents extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { StudentDAO studentDAO = new StudentDAO(); List<Studentx> list = studentDAO.getAll(); req.setAttribute("list",list); req.getRequestDispatcher("/students.jsp").forward(req,resp); } }
2.deleteservlet
public class DeleteServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String id = req.getParameter("id"); StudentDAO dao = new StudentDAO(); dao.deleteOne(Integer.parseInt(id)); req.getRequestDispatcher("success.jsp").forward(req,resp); } }
页面跳转:
1.链接页面:
<%-- Created by IntelliJ IDEA. User: dell Date: 2019/7/1 Time: 13:50 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <a href="ListAllStudents">listAllStudents</a> </body> </html>
2.查询页面:
<%-- Created by IntelliJ IDEA. User: dell Date: 2019/7/1 Time: 13:55 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="com.demo.javaweb.Studentx" %> <%@ page import="java.util.List" %> <html> <head> <title>Title</title> </head> <body> <% List<Studentx> students = (List<Studentx>)request.getAttribute("list"); %> <table BORDER="1" CELLPADDING="10" cellspacing="0"> <tr> <td>ID</td> <td>NAME</td> <td>PASSWORD</td> <td>DELETE</td> </tr> <% for (Studentx stu : students ) { %> <tr> <td><%= stu.getId()%></td> <td><%= stu.getName()%></td> <td><%= stu.getPassword()%></td> <td><a href="DeleteServlet?id=<%=stu.getId()%>">delete</a></td> </tr> <% } %> </table> </body> </html>
3.删除页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> 删除成功!!! <br> <a href="ListAllStudents">listAllStudent</a> </body> </html>
结果图:
数据库: