Java tutorial
/** * Copyright 2018 ? http://www.renren.io * <p> * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package io.renren.common.utils; import com.baomidou.mybatisplus.plugins.Page; import io.renren.common.xss.SQLFilter; import org.apache.commons.lang.StringUtils; import java.util.LinkedHashMap; import java.util.Map; /** * ? * * @author Mark sunlightcs@gmail.com * @since 2.0.0 2017-03-14 */ public class Query<T> extends LinkedHashMap<String, Object> { private static final long serialVersionUID = 1L; /** * mybatis-plus? */ private Page<T> page; /** * ?? */ private int currPage = 1; /** * ?? */ private int limit = 10; public Query(Map<String, Object> params) { this.putAll(params); //? if (params.get("page") != null) { currPage = Integer.parseInt((String) params.get("page")); } 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); //SQLsidx?orderSQL?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 this.page = new Page<>(currPage, limit); //? if (StringUtils.isNotBlank(sidx) && StringUtils.isNotBlank(order)) { this.page.setOrderByField(sidx); this.page.setAsc("ASC".equalsIgnoreCase(order)); } } public Page<T> getPage() { return page; } public int getCurrPage() { return currPage; } public int getLimit() { return limit; } }