package org.springblade.common.utils; import java.util.regex.Pattern; import java.util.regex.Matcher; public class SQLParseUtils { public static String parseSQLType(String sql){ if (sql==null){ return null; } String type = sql.split(" ")[0]; if (type.equalsIgnoreCase("INSERT")){ return "INSERT"; } else if (type.equalsIgnoreCase("UPDATE")) { return "UPDATE"; } else if (type.equalsIgnoreCase("DELETE")) { return "DELETE"; }else { return null; } } public static String getTableName(String sql) { String tableName = null; // 正则表达式匹配 INSERT、UPDATE 和 DELETE 语句 String regex = "(?i)(?:INSERT\\s+INTO|UPDATE|DELETE\\s+FROM)\\s+(\\w+)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(sql.trim()); if (matcher.find()) { tableName = matcher.group(1); } return tableName; } public static void main(String[] args) { String tableName = getTableName("INSERT INTO orders (customer_id, product_id, quantity) VALUES (789, 123, 5)"); System.out.println(tableName); } }