Query.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.kmall.common.utils;
  2. import com.kmall.common.xss.SQLFilter;
  3. import java.util.LinkedHashMap;
  4. import java.util.Map;
  5. /**
  6. * 查询参数
  7. *
  8. * @author Scott
  9. * @email
  10. * @date 2017-03-14 23:15
  11. */
  12. public class Query extends LinkedHashMap<String, Object> {
  13. private static final long serialVersionUID = 1L;
  14. //当前页码
  15. private int page;
  16. //每页条数
  17. private int limit = 20;
  18. public Query(Map<String, Object> params) {
  19. this.putAll(params);
  20. //分页参数
  21. Object page = params.get("page");
  22. Object limit = params.get("limit");
  23. this.page = page == null ? 1 :Integer.parseInt(page.toString());
  24. this.limit = limit == null ? this.limit :Integer.parseInt(limit.toString());
  25. this.put("offset", (this.page - 1) * this.limit);
  26. this.put("page", this.page);
  27. this.put("limit", this.limit);
  28. //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
  29. String sidx = null != params.get("sidx") ? params.get("sidx").toString() : "";
  30. String order = null != params.get("order") ? params.get("order").toString() : "";
  31. this.put("sidx", SQLFilter.sqlInject(sidx));
  32. this.put("order", SQLFilter.sqlInject(order));
  33. }
  34. public int getPage() {
  35. return page;
  36. }
  37. public void setPage(int page) {
  38. this.page = page;
  39. }
  40. public int getLimit() {
  41. return limit;
  42. }
  43. public void setLimit(int limit) {
  44. this.limit = limit;
  45. }
  46. }