SqlUtil.java 929 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.ruoyi.common.utils.sql;
  2. import com.ruoyi.common.exception.UtilException;
  3. import com.ruoyi.common.utils.StringUtils;
  4. /**
  5. * sql操作工具类
  6. *
  7. * @author ruoyi
  8. */
  9. public class SqlUtil
  10. {
  11. /**
  12. * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序)
  13. */
  14. public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+";
  15. /**
  16. * 检查字符,防止注入绕过
  17. */
  18. public static String escapeOrderBySql(String value)
  19. {
  20. if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value))
  21. {
  22. throw new UtilException("参数不符合规范,不能进行查询");
  23. }
  24. return value;
  25. }
  26. /**
  27. * 验证 order by 语法是否符合规范
  28. */
  29. public static boolean isValidOrderBySql(String value)
  30. {
  31. return value.matches(SQL_PATTERN);
  32. }
  33. }