JDBC 名前付きパラメータ
JDBC は本質的に名前付きパラメータをサポートしておらず、位置プレースホルダの代わりに変数名が使用されます。 「select * from Customers where name=@name and city = @city」のようなクエリを許可する ADO.NET とは異なり、JDBC は位置プレースホルダーのみに依存します。
代替: JDBCTemplate
ただし、JDBC を拡張して名前付きパラメーター機能を提供するフレームワークがあります。人気のあるオプションは Spring の JDBCTemplate で、プレーンな JDBC を操作する手間が省けます。
NamedParameterJdbcTemplate
Spring の NamedParameterJdbcTemplate は、名前付きパラメータのサポートを提供します。クエリは次のように記述できます。
NamedParameterJdbcTemplate jdbcTemplate = new NamedParameterJdbcTemplate(dataSource); MapSqlParameterSource paramSource = new MapSqlParameterSource(); paramSource.addValue("name", name); paramSource.addValue("city", city); jdbcTemplate.queryForRowSet("SELECT * FROM customers WHERE name = :name AND city = :city", paramSource);
JDBCTemplate で名前付きパラメータを使用すると、JDBC の位置プレースホルダー アプローチに依存せずに、よりクリーンで保守しやすい SQL クエリを作成できます。
以上がJDBC で名前付きパラメータを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。