欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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包)
java之Mybatis分页插件
第二部:直接上代码(上方的注释即为相应的样式)

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("&nbsp;&nbsp;");
		
		//拼接上一页
		if(pageInfo.isHasPreviousPage()) {
			builder.append("<a href='"+path+"emps/"+pageInfo.getPrePage()+"'>上一页</a>");
			builder.append("&nbsp;&nbsp;");
		}else {
			builder.append("上一页");
			builder.append("&nbsp;&nbsp;");
		}
		
		//拼接页码
		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("&nbsp;&nbsp;");
			}else {
				builder.append("<a href='"+path+"emps/"+i+"'>"+i+"</a>");
				builder.append("&nbsp;&nbsp;");
			}
		}
		
		//拼接下一页
		if(pageInfo.isHasNextPage()) {
			builder.append("<a href='"+path+"emps/"+pageInfo.getNextPage()+"'>下一页</a>");
			builder.append("&nbsp;&nbsp;");
		}else {
			builder.append("下一页");
			builder.append("&nbsp;&nbsp;");
		}
		
		//拼接尾页
		builder.append("<a href='"+path+"emps/"+pageInfo.getPages()+"'>尾页</a>");
		builder.append("&nbsp;&nbsp;");
		
		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框架去查询数据库中的信息,并将其展示在网页页面上,效果如下,功能比较简陋,后续会继续开发
java之Mybatis分页插件
点击展示员工信息后会出现以下界面:
java之Mybatis分页插件

本文地址:https://blog.csdn.net/qq_38307826/article/details/109632103

相关标签: JAVA