Web - 根据条件查询用户信息(筛选)并展示.

准备工作就不在介绍了, 可以参考查询所有用户信息的案例:
https://blog.csdn.net/qq_42986107/article/details/83117451
Web - 根据条件查询用户信息(筛选)并展示._第1张图片

Servlet -> Condifition.java

@WebServlet("/selectBycondition")
public class ConditionServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html; charset=utf-8");
        // 获取传递过来的参数(查询条件)
        String sex = request.getParameter("sex");
        String address = request.getParameter("address");

        // 创建UserService对象 , 并调用其方法.1
        UserService us = new UserService();
        List user = us.selectByCondition(sex,address);

        // 将信息设置到域中
        request.setAttribute("user",user);
        // 将选择的条件也设置到域中 , 方便回显.
        request.setAttribute("sex",sex);
        request.setAttribute("address",address);
        // 请求转发到list页面 ,进行展示.
        request.getRequestDispatcher(request.getContextPath()+"/list.jsp").forward(request,response);
    }
}

Service层 -> UserService.java

public class UserService {
    // 调用UserDao对象中的方法 ,
    UserDao ud = new UserDao();
    
    // 根据条件查询数据.
    public List selectByCondition(String sex, String address) {
        return ud.selectByCondition(sex,address);
    }
}

Dao层 -> UserDao.java

public class UserDao { 
    // 根据条件 , 查询数据.
    public List selectByCondition(String sex, String address) {
        // 创建QueryRunner对象.
        QueryRunner qr = new QueryRunner(DataSourceUtil.getDataSource());
        // 创建sql语句.
        String sql = "select * from user where 1=1 ";

        // 创建一个集合 , 对两个条件进行判断 , 否和就添加进去.
        List list = new ArrayList();
        // 如果查询条件不为空 , 就添加查询条件.
        if (sex!=null&&sex.trim().length()>0){
            sql+=" and sex=? ";
            list.add(sex);
        }

        if(address!=null&&address.trim().length()>0){
            sql+=" and address=? ";
            list.add(address);
        }
        // 执行sql
        try {
            return qr.query(sql,new BeanListHandler<>(User.class),list.toArray());
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

展示页面 -> list.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>




    
    
    
    用户信息管理系统

    
    
    
    
    
    
    


用户信息列表

<%-- action默认不写就是本地址 --%>
性别: 籍贯:
编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作
${user.id} ${user.name} ${user.sex} ${user.age} ${user.address} ${user.qq} ${user.email} 修改  删除
添加联系人

你可能感兴趣的:(Web - 根据条件查询用户信息(筛选)并展示.)