java中分页插件怎么使用方法_Mybatis分页插件PageHelper配置及使用方法详解

环境

框架:spring+springmvc+mybatis

pom.xml

com.github.pagehelper

pagehelper

5.1.2

配置全局配置文件

在mybatis的全局配置文件中配置PageHelper分页插件

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

使用

例如:实现对用户的多条件查询

package com.szfore.model;

import java.util.Date;

import java.util.List;

public class User {
		private Integer id;

		private String uname;

		private String pwd;

		private String name;

		private Integer sex;

		private String phone;

		private String company;

		private String jobtitle;

		private String birth;

		private Date createdate;

		private Date lastlogintime;

		private List roleList;

		public List getRoleList() {
				return roleList;

		}

		public void setRoleList(List roleList) {
				this.roleList = roleList;

		}

		public Integer getId() {
			return id;

		}

		public void setId(Integer id) {
				this.id = id;

		}

		public String getUname() {
			return uname;

		}

		public void setUname(String uname) {
			this.uname = uname == null ? null : uname.trim();

		}

		public String getPwd() {
				return pwd;

		}

		public void setPwd(String pwd) {
			this.pwd = pwd == null ? null : pwd.trim();
		
		}

		public String getName() {
				return name;
		
		}
		
		public void setName(String name) {
				this.name = name == null ? null : name.trim();
		
		}
		
		public Integer getSex() {
				return sex;
		
		}
		
		public void setSex(Integer sex) {
				this.sex = sex;
		
		}
		
		public String getPhone() {
				return phone;
		
		}
		
		public void setPhone(String phone) {
				this.phone = phone == null ? null : phone.trim();
		
		}
		
		public String getCompany() {
				return company;
		
		}
		
		public void setCompany(String company) {
				this.company = company == null ? null : company.trim();
		
		}
		
		public String getJobtitle() {
				return jobtitle;
		
		}
		
		public void setJobtitle(String jobtitle) {
				this.jobtitle = jobtitle == null ? null : jobtitle.trim();
		
		}
		
		public String getBirth() {
				return birth;
		
		}
		
		public void setBirth(String birth) {
				this.birth = birth == null ? null : birth.trim();
		
		}
		
		public Date getCreatedate() {
				return createdate;
		
		}
		
		public void setCreatedate(Date createdate) {
				this.createdate = createdate;
		
		}
		
		public Date getLastlogintime() {
				return lastlogintime;
		
		}
		
		public void setLastlogintime(Date lastlogintime) {
				this.lastlogintime = lastlogintime;
		
		}

}
UserMapper

注意:mapper中就按不分页的那种写法就好

package com.szfore.dao;

import com.szfore.model.User;

import com.szfore.model.UserExample;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import org.springframework.stereotype.Repository;

@Repository

public interface UserMapper {
/**

* 多条件分页查询

* @param userParam

* @return

*/

public List queryByPage(User userParam);

}

UserMapper.xml

注意:sql中就不要写limit了,pageHelp会自己处理,sql就按不分页的那种写法就好

SELECT*FROM

`user`

AND id = #{id}

AND uname = #{uname}

AND name like '%${name}%'

AND phone like '%${phone}%'

AND company like '%${company}%'

AND jobTitle like '%${jobtitle}%'

AND birth like '%${birth}%'
UserServiceImpl

package com.szfore.service.impl;

import com.github.pagehelper.PageHelper;

import com.github.pagehelper.PageInfo;

import com.szfore.dao.MenuMapper;

import com.szfore.dao.UserMapper;

import com.szfore.dao.UserRoleMapper;

import com.szfore.model.*;

import com.szfore.service.IUserService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpSession;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

@Service

public class UserServiceImpl implements IUserService{
		@Autowired
		
		private UserMapper userMapper;
		
		@Autowired
		
		private MenuMapper menuMapper;
		
		@Autowired
		
		private UserRoleMapper userRoleMapper;
		
		/**

* 多条件分页查询用户

* @param userParam

* @param pageNum

* @param pageSize

* @return

*/

	public Json queryByPage(User userParam,Integer pageNum,Integer pageSize) {
		//利用PageHelper分页查询 注意:这个一定要放查询语句的前一行,否则无法进行分页,因为它对紧随其后第一个sql语句有效
		
		PageHelper.startPage(pageNum, pageSize);
		
		List userList = userMapper.queryByPage(userParam);
		
		PageInfo pageInfo = new PageInfo(userList);
		
		Json json = new Json();
		
		json.setMsg("成功!");
		
		json.setObj(pageInfo);
		
		json.setSuccess(true);
		
		return json;
		
	}
		
}
		
		说明:PageInfoPageHelper自带的分页对象类,详情如下:
		
		当前页
		
		private int pageNum;
		
		每页的数量
		
		private int pageSize;
		
		当前页的数量
		
		private int size;
		
		//由于startRow和endRow不常用,这里说个具体的用法
		
		//可以在页面中"显示startRow到endRow 共size条数据"
		
		当前页面第一个元素在数据库中的行号
		
		private int startRow;
		
		当前页面最后一个元素在数据库中的行号
		
		private int endRow;
		
		总记录数
		
		private long total;
		
		总页数
		
		private int pages;
		
		结果集
		
		private List list;
		
		第一页
		
		private int firstPage;
		
		前一页
		
		private int prePage;
		
		是否为第一页
		
		private boolean isFirstPage = false;
		
		是否为最后一页
		
		private boolean isLastPage = false;
		
		是否有前一页
		
		private boolean hasPreviousPage = false;
		
		是否有下一页
		
		private boolean hasNextPage = false;
		
		导航页码数
		
		private int navigatePages;
		
		所有导航页号
		
		private int[] navigatepageNums;
		
		通过PageInfo获取其他信息
		
		PageHelper.startPage(req.getCurrentPage(), req.getPageSize(), true);
		
		List list=securityRiskLibaryDAO.queryList(srl);
		
		PageInfo page=new PageInfo(list);
		
		page.getTotal();
		
		page.xxxx

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
————————————————
版权声明:本文为CSDN博主「我会笑你一辈子的」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42713608/article/details/114858822

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值