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")); } }