pull/2/head
zxy 4 months ago
parent 96b4e44889
commit 2cb09ddabc

@ -1,4 +1,3 @@
package com.utils;
import java.util.LinkedHashMap;
@ -9,90 +8,114 @@ import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.plugins.Page;
/**
*
* LinkedHashMap<String, Object>
* SQL
*/
public class Query<T> extends LinkedHashMap<String, Object> {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
/**
* mybatis-plus
* mybatis-plus
*/
private Page<T> page;
/**
*
* 1
*/
private int currPage = 1;
/**
*
* 10
*/
private int limit = 10;
/**
* JQPageInfo
*
* @param pageInfo JQPageInfo
*/
public Query(JQPageInfo pageInfo) {
//分页参数
if(pageInfo.getPage()!= null){
// 处理分页参数
if (pageInfo.getPage() != null) {
currPage = pageInfo.getPage();
}
if(pageInfo.getLimit()!= null){
if (pageInfo.getLimit() != null) {
limit = pageInfo.getLimit();
}
//防止SQL注入因为sidx、order是通过拼接SQL实现排序的会有SQL注入风险
// 防止SQL注入因为sidx、order是通过拼接SQL实现排序的会有SQL注入风险
String sidx = SQLFilter.sqlInject(pageInfo.getSidx());
String order = SQLFilter.sqlInject(pageInfo.getOrder());
//mybatis-plus分页
// 创建mybatis-plus分页对象
this.page = new Page<>(currPage, limit);
//排序
if(StringUtils.isNotBlank(sidx) && StringUtils.isNotBlank(order)){
// 进行排序设置
if (StringUtils.isNotBlank(sidx) && StringUtils.isNotBlank(order)) {
this.page.setOrderByField(sidx);
this.page.setAsc("ASC".equalsIgnoreCase(order));
}
}
public Query(Map<String, Object> params){
/**
* Map
*
* @param params Map
*/
public Query(Map<String, Object> params) {
// 将传入的参数Map中的所有键值对放入当前对象中
this.putAll(params);
//分页参数
if(params.get("page") != null){
currPage = Integer.parseInt((String)params.get("page"));
// 处理分页参数
if (params.get("page") != null) {
currPage = Integer.parseInt((String) params.get("page"));
}
if(params.get("limit") != null){
limit = Integer.parseInt((String)params.get("limit"));
if (params.get("limit") != null) {
limit = Integer.parseInt((String) params.get("limit"));
}
// 计算偏移量,并将分页相关参数放入当前对象中
this.put("offset", (currPage - 1) * limit);
this.put("page", currPage);
this.put("limit", limit);
//防止SQL注入因为sidx、order是通过拼接SQL实现排序的会有SQL注入风险
String sidx = SQLFilter.sqlInject((String)params.get("sidx"));
String order = SQLFilter.sqlInject((String)params.get("order"));
// 防止SQL注入因为sidx、order是通过拼接SQL实现排序的会有SQL注入风险
String sidx = SQLFilter.sqlInject((String) params.get("sidx"));
String order = SQLFilter.sqlInject((String) params.get("order"));
this.put("sidx", sidx);
this.put("order", order);
//mybatis-plus分页
// 创建mybatis-plus分页对象
this.page = new Page<>(currPage, limit);
//排序
if(StringUtils.isNotBlank(sidx) && StringUtils.isNotBlank(order)){
// 进行排序设置
if (StringUtils.isNotBlank(sidx) && StringUtils.isNotBlank(order)) {
this.page.setOrderByField(sidx);
this.page.setAsc("ASC".equalsIgnoreCase(order));
}
}
/**
* mybatis-plus
*
* @return mybatis-plusPage
*/
public Page<T> getPage() {
return page;
}
/**
*
*
* @return
*/
public int getCurrPage() {
return currPage;
}
/**
*
*
* @return
*/
public int getLimit() {
return limit;
}
}
}
Loading…
Cancel
Save