2

spring JDBC テンプレートの queryForInt() メソッドを使用しています。これには 2 つの引数があります。クエリ文字列と、パラメーター化された SQL の 2 番目の引数です。私は次のようなSQLクエリを持っています: select count(*) from table X where x.x1=? および x.x2=? . 引数リストに 2 つの整数値を渡しています。

  • args.add(12); args.add(50);

    DBのx1とx2のデータ型はNumberです。

    このメソッドは常に PreparedStatementCallback をスローしています。分類されていない SQL の SQLException [<>>]; SQL 状態 [99999]; エラーコード [17004]; 列タイプが無効です

何が悪いのかわかりません。ただし、SQL でパラメーター値をハードコーディングし、単一パラメーター バージョンの queryForInt メソッドで同じものを使用すると、それは機能します:「x.x1 = 12およびx.x2 = 50のテーブルXからcount(*)を選択します」。これは機能します。

ここで何が問題なのですか?春の 3.0.6 バージョンを使用しています。

4

1 に答える 1