package com.nuvole.util;
|
|
/**
|
* @Description:
|
* @Company: TOO (ps:公司名称)
|
* @author: 唐
|
* @date: 2020/2/18 下午12:49
|
* @version: V1.0.0
|
*/
|
public class PageUtils {
|
|
public static String orderParser(String sortName, String sortOrder, String... prefix) {
|
|
// Determine sortOrder equals 'asc' or 'desc'
|
if (!(sortOrder.equals("asc") || sortOrder.equals("desc"))) {
|
throw new IllegalArgumentException("Illegal sortOrder parameter");
|
}
|
|
// 判断列名称的合法性,防止SQL注入。只能是【字母,数字,下划线】
|
if (!sortName.matches("[A-Za-z0-9_]+")) {
|
throw new IllegalArgumentException("Illegal sortName parameter");
|
}
|
|
StringBuilder sb = new StringBuilder();
|
// 存在前缀
|
if (prefix.length != 0) {
|
sb.append(prefix[0] + ".");
|
}
|
|
sb.append(CommonUtil.camel2Underline("`" + sortName + "`") + " " + sortOrder);
|
|
return sb.toString();
|
}
|
|
public static void main(String[] args) {
|
// System.out.println(orderParser("createTime", "asc"));
|
// System.out.println(orderParser("createTime", "asc", "abc"));
|
// System.out.println(orderParser("createTime,if((1=1),sleep(1),sleep(0))", "asc", "abc"));
|
System.out.println(orderParser("createTime", "asc,if((1=1),sleep(1),sleep(0))", "abc"));
|
}
|
}
|