学习日志——2019/08/13

本文详细介绍了如何在学生信息管理系统中实现模糊查询功能,通过姓名和性别字段进行搜索,使用Java Servlet和JSP技术,结合数据库操作,展示了从界面设计到后端逻辑的完整流程。

学生信息管理系统(五)

模糊查询

功能实现:
在这里插入图片描述
代码:

  • list.jsp
	按姓名查询:<input type="text" name="sname"/>
	&nbsp;
	按性别查询:<select name="gender">
				<option value="--请选择--">--请选择--
				<option value="男"><option value="女"></select>
			&nbsp;&nbsp;&nbsp;
			<input type="submit" value="查询">
			&nbsp;&nbsp;&nbsp;
  • SearchStudentServlet
package e.servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import e.domain.Student;
import e.service.StudentService;
import e.service.impl.StudentServiceImpl;

/**
 * Servlet implementation class SearchStudentServlet
 */
public class SearchStudentServlet extends HttpServlet {

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		request.setCharacterEncoding("UTF-8");
		try {
			//1.取到了要查询的关键数据姓名,性别。
			String sname=request.getParameter("sname");
			String gender=request.getParameter("gender");
			
			//2.找service去查询
			StudentService service=new StudentServiceImpl();
			List<Student> list = service.serchStudent(sname, gender);
			System.out.println("list的大小是:"+list.size());
			
			for (Student student : list) {
				System.out.println("stu="+student);
				
			}
			request.setAttribute("list", list);
			//3.跳转界面
			
			request.getRequestDispatcher("list.jsp").forward(request, response);
			
		
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

  • StudentDaoImpl
	@Override
	public List<Student> serchStudent(String sname, String gender) throws SQLException {
			// TODO Auto-generated method stub
			System.out.println("现在要执行模糊查询了:"+sname+"==gender=="+gender);
			QueryRunner runner=new QueryRunner(JDBCUtil.getDataSource());
			
			String sql="select * from stu where 1=1 ";
			List<String>list= new ArrayList<String>();
			//判断有没有姓名,有的话就组建到sql里面
			if (!TextUtils.isEmpty(sname)) {
				sql=sql+"and sname like ?";
				list.add("%"+sname+"%");
			}
			//判断有没有性别,有的话就组建到sql里面
			if (!TextUtils.isEmpty(gender)) {
				sql=sql+" and gender = ? ";
				list.add(gender);
				
			}
		
			
			return runner.query(sql, new BeanListHandler<Student>(Student.class),list.toArray());
			
			
			
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值