1,导入依赖
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>3.1</version>
</dependency>
2,读取sql文件,sql转换
package readsql;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.parser.CCJSqlParserManager;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.create.table.ColDataType;
import net.sf.jsqlparser.statement.create.table.ColumnDefinition;
import net.sf.jsqlparser.statement.create.table.CreateTable;
import org.apache.commons.lang3.StringUtils;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class ReadSqlFileCreateDorisSqlResult {
public static void main(String[] args) throws JSQLParserException {
try {
List<String> list = ReadSqlFileCreateDorisSqlResult.readFile("doris_test.sql");
// List<String> list = SqlFileUtil2.readFile("q2.sql");
//todo 最后输出格式一
List<String> createSqlList = new ArrayList<>();
//todo 最后输出格式二,字符串
StringBuilder finalSqlBuilder = new StringBuilder();
for (String sql : list) {
//todo 字段到结尾
StringBuilder sqlBuilder = new StringBuilder();
//todo 建表语句+主键
StringBuilder prefixBuilder = new StringBuilder();
CCJSqlParserManager parser = new CCJSqlParserManager();
List<ColumnDefinition> columnList = null; //todo 列 字段名称跟信息。
String tableName = ""; //todo 表名字
List<String> pkColumnsList = null ; //todo 主键名称
if(sql.contains("AUTO_INCREMENT")){
sql = sql.replaceAll("AUTO_INCREMENT","");
}
Statement stmt = parser.parse(new StringReader(sql));
if (stmt instanceof CreateTable) {
tableName= ((CreateTable) stmt).getTable().getName();
((CreateTabl