java之Mybatis分页插件
程序员文章站
2024-01-24 14:47:34
最近在学java的SSM框架,用到了分页插件pageHelper,下面介绍一下如何使用它第一步:导jar包(下图中的第一个和第三个jar包)第二部:直接上代码(上方的注释即为相应的样式)package com.wxd.ssm.util;import javax.servlet.http.HttpServletRequest;import com.github.pagehelper.PageInfo;import com.wxd.ssm.bean.Emp;/** * 首页 上一页 1...
最近在学java的SSM框架,用到了分页插件pageHelper,下面介绍一下如何使用它
第一步:导jar包(下图中的第一个和第三个jar包)
第二部:直接上代码(上方的注释即为相应的样式)
package com.wxd.ssm.util;
import javax.servlet.http.HttpServletRequest;
import com.github.pagehelper.PageInfo;
import com.wxd.ssm.bean.Emp;
/**
* 首页 上一页 1 2 3 4 5 下一页 末页
*
*/
public class PageUtil {
public static String getPageInfo(PageInfo<Emp> pageInfo, HttpServletRequest request) {
String path = request.getContextPath() + "/";
StringBuilder builder = new StringBuilder();
//拼接首页
builder.append("<a href='"+path+"emps/1'>首页</a>");
builder.append(" ");
//拼接上一页
if(pageInfo.isHasPreviousPage()) {
builder.append("<a href='"+path+"emps/"+pageInfo.getPrePage()+"'>上一页</a>");
builder.append(" ");
}else {
builder.append("上一页");
builder.append(" ");
}
//拼接页码
int[] nums = pageInfo.getNavigatepageNums();
for (int i : nums) {
if(i == pageInfo.getPageNum()) {
builder.append("<a style='color:red;' href='"+path+"emps/"+i+"'>"+i+"</a>");
builder.append(" ");
}else {
builder.append("<a href='"+path+"emps/"+i+"'>"+i+"</a>");
builder.append(" ");
}
}
//拼接下一页
if(pageInfo.isHasNextPage()) {
builder.append("<a href='"+path+"emps/"+pageInfo.getNextPage()+"'>下一页</a>");
builder.append(" ");
}else {
builder.append("下一页");
builder.append(" ");
}
//拼接尾页
builder.append("<a href='"+path+"emps/"+pageInfo.getPages()+"'>尾页</a>");
builder.append(" ");
return builder.toString();
}
}
第三步:在controller层使用pageHelper
package com.wxd.ssm.controller;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wxd.ssm.bean.Emp;
import com.wxd.ssm.serevice.DeptService;
import com.wxd.ssm.serevice.EmpService;
import com.wxd.ssm.util.PageUtil;
@Controller
public class EmpController {
@Autowired
private EmpService empService;
@Autowired
private DeptService deptService;
@RequestMapping(value="/emps/{pageNum}", method=RequestMethod.GET)
public String getAllEmpsInfo(Map<String, Object> map, @PathVariable("pageNum") Integer pageNum, HttpServletRequest request){
//通过PageHelper设置页面信息,第一个参数为页数,第二个参数为每页显示的条数
PageHelper.startPage(pageNum, 3);
//获取需要的所有的员工信息
List<Emp> allEmpsInfo = empService.getAllEmpsInfo();
//PageHelper中封装了分页的相关信息,包括首页,下一页,尾页等···,直接调用即可
//allEmpsInfo:将上面查询的所有员工的信息放进新创建的pageInfo中,5代表显示五个可以选择的页码,即:1 2 3 4 5 ...
PageInfo<Emp> pageInfo = new PageInfo<>(allEmpsInfo, 5);
String page = PageUtil.getPageInfo(pageInfo, request);
//将需要使用的数据放进作用域中,此处用map存放,也可以用ModelAndView,故形参中需要传进一个Map
map.put("allEmpsInfo", allEmpsInfo);
map.put("page", page);
return "list";
}
}
这是我用SSM框架去查询数据库中的信息,并将其展示在网页页面上,效果如下,功能比较简陋,后续会继续开发
点击展示员工信息后会出现以下界面:
本文地址:https://blog.csdn.net/qq_38307826/article/details/109632103
上一篇: java 获取 两个日期 相差多少天