Sql Help

輔助產出複雜sql解決方案,抽取共用sql解決方案

設計概念

select * from student where id in('Id1','Id2')

  • ISql為sql單位,ISql內組合ISql,無限制包覆,以方便組合方式更加自由

  • 若使用createXXX表示在ISql內,若是要跳出則需要使用back()

Isql in  => SqlBuilder.quotationAndComma("id","id2");//'id','id2'
Isql cladIn=> SqlBuilder.clad(in);// ('id','id2')

常用元件

  • ISql:sql定義介面

  • SqlBuilder:產生括弧、逗點、單引號,等

提供insert delete update select 四種方式

使用範例

select

void test_select_cmd3() {

        String sql = SelectBuilder.newSelect().select("*")
                .from("XXX")
                .where(SqlBuilder.getParameter("value1", SqlOption.EQ, SqlBuilder.write(":value1")))
                .and(SqlBuilder.getParameter("value2", SqlOption.EQ, SqlBuilder.write(":value2")))//
                .back()//
                .orderBy()//
                .add(SqlBuilder.write("value1"))//
                .add(SqlBuilder.write("value2"))//
                .asc()
                .build().toUpperCase();
        log.info("sql:{}", sql);
        Assertions.assertEquals(sql, "select * from XXX where value1 = :value1 AND value2 = :value2 order by value1,value2 asc ".toUpperCase());

    }

UPDATE

DELETE

INSERT

MAVEN

Code Generate

從sql轉換ISQL

Last updated

Was this helpful?