HHeLiBeXの日記 正道編

日々の記憶の記録とメモ‥

JDBCのPreparedStatementで指定できるパラメータの型

たとえば、以下のようなクエリ:

String queryStr =
    "SELECT T.VAL"
    + " FROM TABLE(VALUES('1'), ('2'), ('3'), ('4')) AS T(VAL)"
    + " WHERE T.VAL IN (?)";
PreparedStatement pstmt = conn.prepareStatement(queryStr);

を実行する際に、

// 注:こんなメソッドはない
pstmt.setStringArray(1, new String[] { "1", "3", "5" });

とかできて、

SELECT T.VAL
 FROM TABLE(VALUES('1'), ('2'), ('3'), ('4')) AS T(VAL)
 WHERE T.VAL IN ('1', '3', '5')

というクエリが発行される、なんてことができれば便利だと思うんだけど‥