博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsqlparser 修改sql语句
阅读量:3952 次
发布时间:2019-05-24

本文共 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/

你可能感兴趣的文章
最长子序列长度 (贪心+二分 O( Nlog(N) ))
查看>>
数塔 HDU - 2084 (简单的dp)
查看>>
超级楼梯 HDU - 2041 ( 简单的dp )
查看>>
Piggy-Bank HDU - 1114 ( 完全背包 )
查看>>
Knapsack problem FZU - 2214 ( 01背包 )
查看>>
瞌睡 (网易笔试题)
查看>>
1009 说反话 (20 分)
查看>>
1010 一元多项式求导 (25 分)
查看>>
1011 A+B 和 C (15 分)
查看>>
1012 数字分类 (20 分)
查看>>
1013 数素数 (20 分)
查看>>
1014 福尔摩斯的约会 (20 分)
查看>>
1015 德才论 (25 分)
查看>>
1016 部分A+B (15 分)
查看>>
1017 A除以B (20 分)
查看>>
1019 数字黑洞 (20 分)
查看>>
1032 挖掘机技术哪家强 (20 分)
查看>>
今夕何夕 HDU - 6112 ( 模拟 )
查看>>
Dividing HDU - 1059 ( 多重背包 - 二进制简化 )
查看>>
Robberies HDU - 2955 ( 0-1背包 )
查看>>