2020-05-18

package com.zjzc.commons.db.mysql;

import org.apache.commons.lang3.StringUtils;

import com.zjzc.commons.lib.enums.RetConstantsEnum;
import com.zjzc.commons.lib.exception.ValidateException;
import com.zjzc.commons.lib.util.DataValidatorUtils;

/**
*

  • @author Orc

*/
public class PageRequest {

public static final String ORDER_ASC = "asc";

public static final String ORDER_DESC = "desc";
// 默认起始行
private static final int DEFAULT_START_LINE = 0;
//默认查询页
private static final int DEFAULT_PAGE_NUM = 1;
// 默认页大小
private static final int DEFAULT_PAGE_SIZE = 10;
// 起始行
private int limitBegin;
// 页大小
private int pageSize;

private int pageNum;

private String orderField;

private String orderWay;

public PageRequest() {
	limitBegin = DEFAULT_START_LINE;
	pageNum = DEFAULT_PAGE_NUM;
	pageSize = DEFAULT_PAGE_SIZE;
	orderWay = ORDER_ASC;
}

public PageRequest(int pageNum, int pageSize) {
	if (pageNum < 1) {
		this.pageNum = 1;
	} else {
		this.pageNum = pageNum;
	}
	if (pageSize < 1) {
		this.pageSize = DEFAULT_PAGE_SIZE;
	} else {
		this.pageSize = pageSize;
	}
	setLimitBegin((this.getPageNum() - 1) * this.getPageSize());
}
/**
 * 
 * @param pageNum
 * @param pageSize
 * @param orderField  
 * @param orderWay	  
 */
public PageRequest(int pageNum, int pageSize, String orderField,
		String orderWay) {
	if (pageNum < 1) {
		this.pageNum = 1;
	} else {
		this.pageNum = pageNum;
	}
	if (pageSize < 1) {
		this.pageSize = DEFAULT_PAGE_SIZE;
	} else {
		this.pageSize = pageSize;
	}
	setLimitBegin((this.getPageNum() - 1) * this.getPageSize());
	setOrderField(orderField);
	setOrderWay(orderWay);
}

public int getLimitBegin() {
	return limitBegin;
}

public void setLimitBegin(int limitBegin) {
	this.limitBegin = limitBegin;
}

public int getPageSize() {
	return pageSize;
}

public void setPageSize(int pageSize) {
	if (pageSize < 1) {
		this.pageSize = DEFAULT_PAGE_SIZE;
	} else {
		this.pageSize = pageSize;
	}
	setLimitBegin((this.getPageNum() - 1) * this.getPageSize());
}

public int getPageNum() {
	return pageNum;
}

public void setPageNum(int pageNum) {
	if (pageNum < 1) {
		this.pageNum = 1;
	} else {
		this.pageNum = pageNum;
	}
	setLimitBegin((this.getPageNum() - 1) * this.getPageSize());
}

public String getOrderField() {
	return orderField;
}

/**
 * sql 注入临时解决方案,
 * ZJZCValidator.VALIDSTR 验证方式相同
 * @param str
 */
private void check(String str){
	if(StringUtils.isNotBlank(str)){
		if (!DataValidatorUtils.isValidStr(str)) {
			throw new ValidateException(RetConstantsEnum.PARAMS_ERROR.getCode(),
					str + "格式不正确,请检查!");
		}
	}
}

public void setOrderField(String orderField) {
	check(orderField);
	this.orderField = orderField;
}

public String getOrderWay() {
	return orderWay;
}

public void setOrderWay(String orderWay) {
	check(orderWay);
	this.orderWay = orderWay;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值