ssm分页+搜索

本文介绍了如何在SSM(Spring、SpringMVC、MyBatis)框架下实现分页和模糊搜索功能。首先,构建了一个PageInfo分页类,并定义了相关属性。接着,重写了findAll方法以实现模糊查找,根据当前页数和用户名查询数据并进行分页处理。在Controller层注册了新的findAll方法,接收请求参数并调用service层的方法。同时,添加了获取信息总条数的方法和接口。最后,在用户列表页面实现了上下页跳转功能。
摘要由CSDN通过智能技术生成

构建pageInfo分页类,定义相关属性

在这里插入图片描述
重写findAll,实现模糊查找方法

select * from tb_user where username like concat("%",#{username},"%") limit #{start},5

@Override
public PageInfo findAll(int currentPage, String username) {
PageInfo pageInfo = new PageInfo<>();
pageInfo.setSize(5);
//tc为查询数据的总行数
int tc = userDao.getTotalCount(username);
pageInfo.setTotalCount(tc);
//tp为总行数
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);
}
//0,5,10,15…
int start = (pageInfo.getCurrentPage()-1)*5;
List userList = userDao.findAll(start, username);
pageInfo.setList(userList);
return pageInfo;
}

在controller层注册新的findAll方法

@RequestMapping("/findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = “1”)int currentPage, String username,
@RequestParam(defaultValue = “0”)int type, HttpSession session){
if (type==1){
session.setAttribute(“searchName”,username);
}else {
username=(String) session.getAttribute(“searchName”);
}
PageInfo pageInfo = userService.findAll(currentPage, username);
ModelAndView mv = new ModelAndView();
mv.addObject(“pageInfo”,pageInfo);
mv.setViewName(“user-list”);
return mv;
}

实现获取信息总条数方法,添加接口

select count(*) from tb_user where username like concat("%",#{username},"%")

3.在user-list界面添加上下页跳转功能

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值