Java分页实现

15 篇文章 0 订阅
5 篇文章 0 订阅

controller:

  /**
     * 分页查询方法
     */
    @ResponseBody
    @GetMapping("/smsUserMaintenancePlanReview/dataPage")
    @ApiOperation(value = "获取分页数据", notes = "获取分页数据")
    public ResultData dataPage(@RequestParam(required = false, defaultValue = "0", value = "pageNum") int pageNum,@RequestParam(required = false, defaultValue = "10", value = "pageSize") int pageSize){
        Page<SmsUserMaintenancePlanReview> smsUserMaintenancePlanReviewPage;
        try{
            Map<String, Object> queryMap=new HashMap<>(2);
            queryMap.put("delFlag_EQ",false);
            Sort sort=new Sort(Sort.Direction.DESC,"createDate");
            smsUserMaintenancePlanReviewPage = smsUserMaintenancePlanReviewService.findAll(queryMap,pageNum,pageSize,sort);
        }catch(Exception e){
            return ResultData.getFailResult(e.getMessage());
        }
        return ResultData.getSuccessResult(smsUserMaintenancePlanReviewPage);
    }

分页帮助类:

package com.byzx.vo;

import java.util.List;

public class PageUtil {

	// 每页显示条数
	private Integer pageSize ;
	// 总条数
    private Integer totalNum ;//= 0;
    // 当前页码
  	private Integer pageNum ;//= 1;
    // 总页数
  	private Integer pageCount ;//= 0;
	// limit下标,limit第一个参数
	private Integer limitIndex ;//= 0;
	// 存储返回的集合对象
	private List<?> resultList;
	// 请求地址, user/list.action
	private String url;
	// 请求参数(搜索条件参数的封装), userCode=admin&userType=1&userState=1
	private StringBuffer params;

	//定义无参构造
	public PageUtil(){
	}
	// 有参构造(每页显示条数,当前页)
	public PageUtil(Integer pageSize,Integer pageNum){
		this.pageSize = pageSize;
		this.pageNum = pageNum;
	}
	//有参构造 (每页显示条数,总条数,当前页码,返回集合对象,请求地址,模糊查询输入的参数)
	public PageUtil(Integer pageSize,Integer totalNum,Integer pageNum,List<?> resultList,String url,StringBuffer params){
		this.pageSize = pageSize;
		this.totalNum = totalNum;
		this.pageNum = pageNum;
		this.resultList = resultList;
		this.url = url;
		this.params = params;
	}
	public Integer getPageSize() {
		return pageSize;
	}
	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	public Integer getPageNum() {
		return pageNum;
	}
	public void setPageNum(Integer pageNum) {
		this.pageNum = pageNum;
	}
	public Integer getTotalNum() {
		return totalNum;
	}
	public void setTotalNum(Integer totalNum) {
		this.totalNum = totalNum;
	}
	// 获取总页数
	public Integer getPageCount() {
		pageCount=(totalNum%pageSize==0)?(totalNum/pageSize):(totalNum/pageSize)+1;
		return pageCount;
	}
	public void setPageCount(Integer pageCount) {
		this.pageCount = pageCount;
	}
	// 获取limit第一个下标的值
	public Integer getLimitIndex() {
		limitIndex = pageSize*(pageNum-1);
		return limitIndex;
	}
	public void setLimitIndex(Integer limitIndex) {
		this.limitIndex = limitIndex;
	}
	public List<?> getResultList() {
		return resultList;
	}
	public void setResultList(List<?> resultList) {
		this.resultList = resultList;
	}
	public String getUrl() {
		return url;
	}
	public void setUrl(String url) {
		this.url = url;
	}
	public StringBuffer getParams() {
		return params;
	}
	public void setParams(StringBuffer params) {
		this.params = params;
	}
	@Override
	public String toString() {
		return "PageUtil [pageSize=" + pageSize + ", totalNum=" + totalNum + ", pageNum=" + pageNum + ", pageCount="
				+ pageCount + ", limitIndex=" + limitIndex + ", resultList=" + resultList + ", url=" + url + ", params="
				+ params + "]";
	}
}

mapper:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.byzx.dao.PlaceMapper">
<resultMap id="PlaceMap" type="Place" >
  <id column="place_id" property="placeId"  />
  <result column="place_name" property="placeName"  />
  <result column="place_num" property="placeNum" />
  <result column="introduce" property="introduce"  />
</resultMap>
	<select id="fullCheckPlace" parameterType="HashMap" resultMap="PlaceMap">
		select * from place
		<where>
			<if test="Place.placeNum != null and Place.placeNum != '' " >
				AND place_num LIKE concat("%",#{Place.placeNum},"%")
			</if>
			<if test="Place.placeName != null and Place.placeName != ''">
				AND place_name LIKE concat("%",#{Place.placeName},"%") 
			</if>
		</where>
		<if test="PageUtil != null">
			LIMIT #{PageUtil.limitIndex},#{PageUtil.pageSize}
		</if>
	</select>
		
	<!-- 添加产地 -->
	<insert id="addPlace" parameterType="Place">
		INSERT INTO `shopping`.`place` (`place_name`, `place_num`, `introduce`) VALUES (#{placeName}, #{placeNum}, #{introduce}); 
	</insert>
	<!-- 查询产地和编号是否存在 -->
	<select id="isPlace" parameterType="Place" resultType="Integer">
		select count(*) sum from place 
		<where>
			<if test="placeName != null and placeName != ''">
				place_name=#{placeName}
			</if>
			<if test="placeNum != null and placeNum != ''">
				place_num=#{placeNum}
			</if>
		</where> 
	</select>
	
	<!-- 删除产地 -->
	<delete id="deletePlace" parameterType="String">
		delete from place where place_id=#{placeId}
	</delete>
	
	<!-- 更新产地 -->
	<update id="updatePlace" parameterType="Place">
		UPDATE `shopping`.`place` SET `place_name` = #{placeName} , `place_num` = #{placeNum} , `introduce` = #{introduce} WHERE `place_id` = #{placeId}; 
	</update>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值