详解基于MVC的数据查询模块进行模糊查询

时间:2021-05-19

完成一个简单的基于MVC的数据查询模块,要求能够按照name进行模糊查询。

Index.jsp:

<%@ page import="student.TestBean" %><%@ page import="java.util.List" %><%@ page import="java.util.ArrayList" %><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><% List<TestBean> list = (List<TestBean>)request.getAttribute("list"); if(list == null){ list = new ArrayList<TestBean>(); }%><!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title></head><body><form action="ScoreServlet"> NAME:<input type="text" name="Name"> <input type="submit" method="post"> <table border="1px solid black"> <tr> <th>ID</th> <th>Name</th> </tr><% for(int i = 0 ; i < list.size() ; i++){ TestBean record = list.get(i);%> <tr> <td><%=record.getId()%></td> <td><%=record.getName()%></td> </tr><% }%> </table></form></body></html>

ScoreServlet.java:

import student.TestBean;import student.TestDb;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.sql.SQLException;import java.util.List;@WebServlet(name = "/ScoreServlet")public class ScoreServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String strName = request.getParameter("Name"); if(strName == null) strName = ""; TestDb testDb = new TestDb(); try { List<TestBean> list = testDb.findByName(strName); request.setAttribute("list",list); request.getRequestDispatcher("index.jsp").forward(request,response); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }}

TestBean.java:

package student;public class TestBean { private int id; private String name; 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; }}

TestDb.java:

package student;import student.TestBean;import java.sql.*;import java.util.ArrayList;import java.util.List;public class TestDb { public List<TestBean> findByName(String Name) throws ClassNotFoundException,SQLException{ List<TestBean> list = new ArrayList<TestBean>(); String url="jdbc:h2:D:/temp/h2/mydb"; Class.forName("org.h2.Driver"); Connection conn = DriverManager.getConnection(url,"sa",""); PreparedStatement pstmt = conn.prepareStatement("select ID,NAME from TEST where name like ?"); pstmt.setString(1,"%"+Name+"%"); ResultSet rs = pstmt.executeQuery(); //执行查询 while(rs.next()){ TestBean record = new TestBean(); record.setId(rs.getInt(1)); record.setName(rs.getString(2)); list.add(record); } rs.close(); pstmt.close(); conn.close(); return list; }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章