ホームページ >Java >&#&チュートリアル >JDBC で複数のパラメータに対して IN 句を含む PreparedStatement を効率的に使用する方法
JDBC の PreparedStatement を使用して IN 句を含む SQL クエリを実行する場合、複数のパラメータの値を設定するのは困難な場合があります。
所定の取扱いパラメータ
パラメータのリストが事前にわかっている場合は、次のアプローチを使用します。
不明なパラメータの処理
パラメータのリストが事前に不明な場合は、次の手順を使用します。
の場合たとえば、複数の値を持つクエリ Select * from test where フィールド (?) のパラメータを設定するには、次のコードを使用できます。
String query = String.format("select * from test where field in (%s)", values.stream() .map(v -> "?") .collect(Collectors.joining(", "))); PreparedStatement stmt = connection.prepareStatement(query); int index = 1; for (Object o : values) { stmt.setObject(index++, o); }
このアプローチにより、IN 句が任意の数値に動的に対応できるようになります。パラメーターの数を増やし、柔軟なクエリ実行を可能にします。
以上がJDBC で複数のパラメータに対して IN 句を含む PreparedStatement を効率的に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。