MVC学生管理系统-阶段V(模糊查询)

版权声明:仅提供学习参考使用,如若转载请说明出处谢谢! https://blog.csdn.net/weixin_44718300/article/details/89047987

项目源码 :https://download.csdn.net/download/weixin_44718300/11091042

此处省略一段话。去上一篇查看

NO01:修改list.jsp

<tr>
			<td colspan="8">
			按姓名查询:<input type="text" name = "sname"/>
			按性别查询:<select name="sgender">
			<option value="">--请选择--
			<option value="男">男
			<option value="女">女
			</select>
			&nbsp;&nbsp;&nbsp;
			<input type="submit" value="查询">
					

			<a href="add.jsp">添加</a></td>
		</tr>

还要套上一层form

<form action="SearchStudentServlet" method="post">

NO02:新建Servlet


/*
 * 负查询所有所有学生信息,呈现到list.jsp页面上
 */
public class StudentListServlet extends HttpServlet {
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		   
			
			try {
				//1查出所有学生
				 StudentService service = new StudentServiceImpl();
				 List<Student> list  = service.findAll();
                //2.把数据传到作用于中
				request.setAttribute("list", list);	
				//3跳转
				request.getRequestDispatcher("list.jsp").forward(request, response);
						
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

NO03:创建一个Util为了判断字符串是否为空

public class TextUtil {
	public static boolean isEmpty(CharSequence s) {
		return s==null || s.length() == 0;
	}

}

NO04:修改Service接口和实现类

//迷糊查询,根据姓名或者性别,或者都有
	List<Student> searchStudent(String sname,String sgender) throws SQLException;
@Override
	public List<Student> searchStudent(String sname, String sgender) throws SQLException {
		StudentDao dao = new StudentDaoImpl();
		return dao.searchStudent(sname, sgender);
		
	}

NO05:修改Dao接口和实现类

//迷糊查询,根据姓名或者性别,或者都有
	List<Student> searchStudent(String sname,String sgender) throws SQLException;
@Override
	public List<Student> searchStudent(String sname, String sgender) throws SQLException {
		QueryRunner runner = new QueryRunner(JDBCUtil.getDataSouce());
		String sql = "select * from stu where 1=1";
		List<String> list = new ArrayList<String>();
		//判断有没有姓名,有的话组拼
		if(!TextUtil.isEmpty(sname)) {
			sql = sql+" and sname like ?";
			list.add("%"+sname+"%");
		}
		//判断有没有性别,有的话组拼
		if(!TextUtil.isEmpty(sgender)) {
			sql=sql+" and gender = ?";
			list.add(sgender);
		}
		System.out.println(sql);
		List<Student> liststu = runner.query(sql, 
				new BeanListHandler<Student>(Student.class),list.toArray());
		return liststu;
		
	}

 

猜你喜欢

转载自blog.csdn.net/weixin_44718300/article/details/89047987