ssm框架分页+过滤+模糊查找+批量删除

    技术2023-11-29  111

    ssm框架分页+过滤+模糊查找+批量删除

    1.分页 1.1 pageinfo类

    public class PageInfo<T> { private List<T> list; private int totalPage; private int size; private int totalCount; private int currentPage; public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } }

    1.2 controller类

    @RequestMapping("/findAll.do") public ModelAndView findAll(@RequestParam(defaultValue = "1 ") int currentPage,String username,HttpSession session,@RequestParam(defaultValue = "0")int type){ //当搜索的时候 if(type==1){ session.setAttribute("searchname",username); }else { username=(String) session.getAttribute("searchname"); } PageInfo<User> pageInfo = userService.findAll(currentPage,username); ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("pageinfo",pageInfo); modelAndView.setViewName("user-list"); return modelAndView; }

    2.过滤 2.1LoginFilter

    public class LoginFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpSession session=request.getSession(); User user =(User) session.getAttribute("user"); String url = request.getRequestURI(); if(user==null && url.indexOf("login.do") == -1){ response.sendRedirect(request.getContextPath()+"../login.jsp"); }else { filterChain.doFilter(request,response); } } @Override public void destroy() { } }

    2.2service实现

    @Override public PageInfo<User> findAll(int currentPage,String username) { PageInfo<User> pageInfo = new PageInfo<>(); pageInfo.setSize(5); pageInfo.setCurrentPage(currentPage); int tc = userDao.getTotalCount(username); pageInfo.setTotalCount(tc); int tp = (int)Math.ceil(tc/5.0); pageInfo.setTotalPage(tp); if(currentPage<1){ pageInfo.setCurrentPage(1); }else if(currentPage>tp){ pageInfo.setCurrentPage(tp); }else { pageInfo.setCurrentPage(currentPage); } int start = (pageInfo.getCurrentPage()-1)*5; List<User> userList = userDao.findAll(start,username); pageInfo.setList(userList); return pageInfo; }

    3模糊查询 3.1controller类

    @RequestMapping("/findAll.do") public ModelAndView findAll(@RequestParam(defaultValue = "1 ") int currentPage,String username,HttpSession session,@RequestParam(defaultValue = "0")int type){ //当搜索的时候 if(type==1){ session.setAttribute("searchname",username); }else { username=(String) session.getAttribute("searchname"); } PageInfo<User> pageInfo = userService.findAll(currentPage,username); ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("pageinfo",pageInfo); modelAndView.setViewName("user-list"); return modelAndView; }

    3.2xml配置 sql语句

    <select id="findAll" resultType="user" > select * from tb_user <if test="username!=null and username!=''"> where username like concat("%",#{username},"%") </if> limit #{start},5 </select>

    4.批量删除 4.1 controller类

    @RequestMapping("/deleteAll.do") private String deleteAll(String userList){ String[] strs = userList.split(","); List<Integer> ids = new ArrayList<>(); for(String s:strs){ ids.add(Integer.parseInt(s)); } userService.deleteAll(ids); return "redirect:findAll.do"; }

    4.2service接口和实现

    void deleteAll(List<Integer> ids); @Override public void deleteAll(List<Integer> ids) { userDao.deleteAll(ids); }
    Processed: 0.013, SQL: 9