Simple DB Object Builder

簡介
下 載
安裝
Table Object
Query Object
快 速上手
進 階應用
產 出碼說明
編譯原 始碼

Query Object 進階應用

  • 在 SQL 語法中,加入 PreparedStatement 參數:TOP
Query Object 和 Table Object 作法相同。在執行查詢前,會先動態組成  SQL 字串,之後再將該字串創建成 PreparedStatement 物件。
所以我們可以在 Query Object 的 SQL 字串中加入 PreparedStatement 的參數,如下:

SELECT o.customerNumber, c.customerName, o.orderNumber, o.orderDate
FROM customers c,orders o
where c.customerNumber = o.customerNumber
and c.customerNumber > ?
order by c.customerNumber

選 取 Query Object 中的 Prepared Statement Parameter 頁面。按下 Add Parameter,在 Type 下選則該 Parameter 的型別,在 Name 的部份則填入變數名稱(在產出碼中使用),在 Sample Data 則填入樣本資料(在執行測試 SQL 時需要,若你不執行測試 SQL 的話,就不需要填入)。結果如下:


按下 Execute Query 則可以看到測試 SQL 的結果,如下:


若結果符合你的預期,則可以按下 Generate Source 來產出 Java 原始碼。
在產出碼中,原 executeQuery 的方法就會變成下面的方式:

public static MyQry001[] executeQuery(Connection conn ,Integer custNumber )

之後就可以在執行時期呼叫該方法並帶入所需的參數,如下:

。。。
MyQry001[]
myQry001s = MyQry001.executeQuery(conn ,100 );
。。。
MyQry001[]
myQry001s = MyQry001.executeQuery(conn ,200 );


  • 在 SQL 語法中,加入 format string 參數:TOP
format string 的用法是在 Query Object 在將動態組成的 SQL 字串在建構成 Prepared Statement 之前,先呼叫 java.lang.String.format(...) 將動態組成的 SQL 字串作最後的修正後,再建構成 Prepared Statement。
所以我們可以在 Query SQL 的字串中加入 string format 的參數,如下:

SELECT o.customerNumber, c.customerName, o.orderNumber, o.orderDate
FROM customers c,orders o
where c.customerNumber = o.customerNumber
%s
order by c.customerNumber

選 取 Query Object 中的 String Format Parameter 頁面。按下 Add Parameter,在 Name 的部份則填入變數名稱(在產出碼中使用),在 Sample Data 則填入樣本資料(在執行測試 SQL 時需要,若你不執行測試 SQL 的話,就不需要填入)。結果如下:


按下 Execute Query 則可以看到測試 SQL 的結果,如下:


若結果符合你的預期,則可以按下 Generate Source 來產出 Java 原始碼。
在產出碼中,原 executeQuery 的方法就會變成下面的方式:

public static MyQry002[] executeQuery(Connection conn ,String subCondition01 )

之後就可以在執行時期呼叫該方法並帶入所需的參數,如下:

。。。
MyQry002[] myQry002s = MyQry002.executeQuery(conn ," and c.customerNumber > 100 " );
。。。
MyQry002[] myQry002s = MyQry002.executeQuery(conn ," and c.customerNumber < 500 " );