package cn.org.rapid_framework.generator.util.sqlparse; import cn.org.rapid_framework.generator.util.StringHelper; public class SqlTypeChecker { /** * 当前的sourceSql是否是select语句 * @return */ public static boolean isSelectSql(String sourceSql) { return StringHelper.removeXMLCdataTag(SqlParseHelper.removeSqlComments(sourceSql)).trim().toLowerCase().matches("(?is)\\s*select\\s.*\\sfrom\\s+.*"); } /** * 当前的sourceSql是否是update语句 * @return */ public static boolean isUpdateSql(String sourceSql) { return StringHelper.removeXMLCdataTag(SqlParseHelper.removeSqlComments(sourceSql)).trim().toLowerCase().matches("(?is)\\s*update\\s+.*\\sset\\s.*"); } /** * 当前的sourceSql是否是delete语句 * @return */ public static boolean isDeleteSql(String sourceSql) { String processedSql = StringHelper.removeXMLCdataTag(SqlParseHelper.removeSqlComments(sourceSql)).trim().toLowerCase(); return processedSql.matches("(?is)\\s*delete\\s+from\\s.*") || processedSql.matches("(?is)\\s*delete\\s+.*"); } /** * 当前的sourceSql是否是insert语句 * @return */ public static boolean isInsertSql(String sourceSql) { //FIXME into可能不是关键字 return StringHelper.removeXMLCdataTag(SqlParseHelper.removeSqlComments(sourceSql)).trim().toLowerCase().matches("(?is)\\s*insert\\s+into\\s+.*"); } }