本文共 2486 字,大约阅读时间需要 8 分钟。
@Test void changeTable() throws JSQLParserException { String xxx = " AUTO_INCREMENT "; CreateTable createTable = (CreateTable) CCJSqlParserUtil.parse(" CREATE TABLE `t_student` (\n" + " `student_id` int(10) unsigned NOT NULL COMMENT '学生id',\n" + " `student_name` varchar(60) DEFAULT NULL,\n" + " `student_password` varchar(60) DEFAULT NULL,\n" + " `student_id_card` varchar(255) DEFAULT NULL,\n" + " `sex` int(10) DEFAULT '0',\n" + " `is_deleted` tinyint(1) DEFAULT NULL,\n" + " `gmt_create` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,\n" + " `gmt_modified` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,\n" + " PRIMARY KEY (`student_id`)\n" + ") ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 "); Index index = createTable.getIndexes().get(0); // System.out.println(index.getColumnWithParams().get(0)); // System.out.println(index.getType()); // System.out.println(index.getColumnsNames()); // System.out.println(index.getIndexSpec()); // System.out.println(index.getUsing()); // System.out.println(index.getNameParts()); // System.out.println(index.getName()); System.out.println("indexName : "+index.getColumnsNames().get(0)); String indexName = index.getColumnsNames().get(0); ColumnDefinition df1 = createTable.getColumnDefinitions().stream() .peek(df12 -> System.out.println(df12.getColumnName())) .filter(df -> df.getColumnName().equalsIgnoreCase(indexName)) .findFirst().get(); // System.out.println(df1.getColDataType().getArgumentsStringList()); System.out.println(df1.getColumnSpecs()); System.out.println(df1.getColumnName()); System.out.println(df1.getColDataType()); ArrayList spec = new ArrayList(); // spec.add("auto_increment"); // spec.addAll(df1.getColumnSpecs()); for (String param: df1.getColumnSpecs()) { spec.add(param); if (param.equalsIgnoreCase("null")) { spec.add(" auto_increment "); } } df1.setColumnSpecs(spec); // df1.getColumnSpecs().add("auto_increment"); System.out.println("--------------------------------------------------------"); System.out.println(createTable); }
转载地址:http://ruyzi.baihongyu.com/