| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package com.chuanghai.ihotel.common.utils;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.metadata.OrderItem;
- import com.baomidou.mybatisplus.core.toolkit.StringUtils;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- /**
- * @Author: codingliang
- * @Description: 分页参数设置
- * @Date: 2021-04-29 12:51
- * @Version: V1.0
- **/
- public class MyQuery<T> {
- public IPage<T> getPage(PageParam params) {
- return this.getPage(params, null, false);
- }
- public IPage<T> getPage(PageParam params, String defaultOrderField, boolean isAsc) {
- //分页对象
- Page<T> page = new Page<>(params.getCurPage(), params.getPageSize());
- //排序字段
- //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
- String orderField = SQLFilter.sqlInject(params.getOrderField());
- String order = params.getOrder();
- //前端字段排序
- if(StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)){
- if("asc".equalsIgnoreCase(order)) {
- return page.addOrder(OrderItem.asc(orderField));
- }else {
- return page.addOrder(OrderItem.desc(orderField));
- }
- }
- // 没有排序字段,则不排序
- if(StringUtils.isEmpty(defaultOrderField)){
- return page;
- }
- //默认排序
- if(isAsc) {
- page.addOrder(OrderItem.asc(defaultOrderField));
- }else {
- page.addOrder(OrderItem.desc(defaultOrderField));
- }
- return page;
- }
- }
|