分页 模糊查询「建议收藏」

分页 模糊查询「建议收藏」一 所有的 web 项目都会用到分页显示和模糊查询 对于有些人不知道该怎么写 二 今天我用 springMVC 和 myBatis 写的分页和模糊分享给大家 不喜勿喷 三 数据库是 mysql 四 其实写分页就是新建一个分页的类 定义 页码 每页数量 共几页 当前页数 总数量 五 判断多少页 获取总数量除以每页显示的数量 有余数 1 页 六 sql 语句就是用 limit 显示的数量 把从多少条开始

一、所有的web项目都会用到分页显示和模糊查询,对于有些人不知道该怎么写

二、今天我用springMVC 和 myBatis 写的分页和模糊分享给大家,不喜勿喷

三、数据库是mysql

四、其实写分页就是新建一个分页的类,定义 页码 每页数量 共几页 当前页数 总数量

五、判断多少页,获取总数量除以每页显示的数量,有余数+1页

六、sql语句就是用 limit 显示的数量,把从多少条开始,到显示几条传到sql语句上

七、目前每页的显示的数量是定义好的,等过两天有时间把自己可以选择显示页数的代码写出来

八、源码下载地址 点击打开链接

用户实体类

public class User {

private int id;
private String name;
private String sex;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}

分页的实体类

public class Page {
/**
* 页码
*/
private int pageNum;
/**
* 每页显示的行数
*/
private int pageRows;
/**
* 总行数
*/
private int totalRows;
/**
* 总页数
*/
private int totalPages;
/**
* 起始行号
*/
private int beginRownum;
/**
* 结束行号
*/
private int endRownum;

public Page(int pageNum, int pageRows, int totalRows) {
this.pageNum = pageNum;
this.pageRows = pageRows;
this.totalRows = totalRows;
// 计算总页数:总行数%每页行数==0?总行数/每页行数:总行数/每页行数+1
this.totalPages = totalRows % pageRows == 0 ? totalRows / pageRows : (totalRows / pageRows) + 1;
beginRownum = (pageNum - 1) * pageRows;
endRownum = pageNum * pageRows;
}

public int getPageNum() {
return pageNum;
}

public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}

public int getPageRows() {
return pageRows;
}

public void setPageRows(int pageRows) {
this.pageRows = pageRows;
}

public int getTotalRows() {
return totalRows;
}

public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}

public int getTotalPages() {
return totalPages;
}

public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}

public int getBeginRownum() {
return beginRownum;
}

public void setBeginRownum(int beginRownum) {
this.beginRownum = beginRownum;
}

public int getEndRownum() {
return endRownum;
}

public void setEndRownum(int endRownum) {
this.endRownum = endRownum;
}

}
mapper  和  映射文件

public interface UserMapper {

public List selectAll(Map map);

//查询总行数
public int selTotalRows(Map map);
}








控制层

public class UserController {

@Autowired
private UserService userService;

@RequestMapping("/showAll.action")
public String selAll(HttpServletRequest request){
Map map = new HashMap();
map.put("name", null);
map.put("sex", null);
Page page = new Page(1,5,userService.selTotalRows(map));
map.put("page", page);
List userList = userService.selectAll(map);
request.setAttribute("userList", userList);
request.setAttribute("page", page);
return "two.jsp";
}


//查询所有用户(带模糊查询、分页)
@RequestMapping("/showPage.action")
public String selAllLikePage(int pageNum,String name,String sex,HttpServletRequest request){
Map map = new HashMap();
if("".equals(name)){
map.put("name", null);
}else{
map.put("name", "%"+name+"%");
}
if("".equals(sex)){
map.put("sex", null);
}else{
map.put("sex", sex);
}
Page page = new Page(pageNum,5,userService.selTotalRows(map));
map.put("page", page);
List userList = userService.selectAll(map);
request.setAttribute("userList",userList);
request.setAttribute("page", page);
request.setAttribute("name", name);
request.setAttribute("sex", sex);
return "two.jsp";
}
}
jsp页面

























序号 姓名 性别
${user.id } ${user.name } ${user.sex }


首页
上一页


${num }

${num }



下一页
尾页

总${page.pageNum}/${page.totalPages }页



编程小号
上一篇 2025-04-10 07:21
下一篇 2025-03-01 10:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/112766.html