1、DDL语句解析-工具类
1、需要引入fastsql依赖 <dependency> <groupId>com.alibaba.fastsql</groupId> <artifactId>fastsql</artifactId> <version>2.0.0_preview_584</version> </dependency>2、工具类-Demo: public static String formatDDL(String ddl, String storeType) { if (StringUtils.isBlank(ddl) || StringUtils.isBlank(storeType)) { return null; } ddl = ddl.replace("%%", "'"); if (DataSourceTypeEnum.RDS.getName().equals(storeType.toLowerCase())) { return SQLUtils.format(ddl, JdbcConstants.MYSQL).replace("USING BTREE", "").replace( "using btree", "").replace("USING btree", "").replace("UNIQUE", "UNIQUE KEY"); } if (DataSourceTypeEnum.RDSPG.getName().equals(storeType.toLowerCase())) { return SQLUtils.format(ddl, JdbcConstants.POSTGRESQL); } if (DataSourceTypeEnum.ODPS.getName().equals(storeType.toLowerCase())) { return SQLUtils.format(ddl, JdbcConstants.ODPS); } if (DataSourceTypeEnum.HIVE.getName().equals(storeType.toLowerCase())) { return SQLUtils.format(ddl, JdbcConstants.HIVE); } if (DataSourceTypeEnum.HBASE_PHOENIX.getName().equals(storeType.toLowerCase())) { return SQLUtils.format(ddl, JdbcConstants.PHOENIX); } return ddl; }