JSqlParser-SQL構文解釈器使用レコード:SQL文の作成SQL文のさくせい

3399 ワード

SQL文の作成
1.簡単なSELECT文を作成する
テーブル名による作成
Select select = SelectUtils.buildSelectFromTable(new Table("TABLE1"));
System.out.println(select.toString());//SELECT * FROM TABLE1

テーブル名と条件による作成
Select select = SelectUtils.buildSelectFromTableAndExpressions(new Table("TABLE1"), new Column("A"), new Column("B"));
System.out.println(select.toString());//SELECT A, B FROM TABLE1

条件は文字列で指定できます.
Select select = SelectUtils.buildSelectFromTableAndExpressions(new Table("TABLE1"), "a+b", "name");
System.out.println(select.toString());//SELECT a + b, name FROM TABLE1

2.INSERT文の作成
Insert insert = (Insert) CCJSqlParserUtil.parse("INSERT INTO TABLE1 (A) VALUES (1)");//        Insert
insert.getColumns().add(new Column("B"));//   
ExpressionList expressionList = (ExpressionList) insert.getItemsList();
expressionList.getExpressions().add(new LongValue(5));
System.out.println(insert.toString());//INSERT INTO TABLE1 (A, B) VALUES (1, 5)

アクセサによる追加
Insert insert = (Insert) CCJSqlParserUtil.parse("INSERT INTO TABLE1 (A) VALUES (1)");//        Insert
insert.getColumns().add(new Column("B"));//   
insert.getItemsList().accept(new ItemsListVisitor() {
    @Override
    public void visit(SubSelect subSelect) {
    }

    @Override
    public void visit(ExpressionList expressionList) {
        expressionList.getExpressions().add(new LongValue(5));
    }

    @Override
    public void visit(MultiExpressionList multiExpressionList) {
    }
});
System.out.println(insert.toString());//INSERT INTO TABLE1 (A, B) VALUES (1, 5)

3.文字列値置換