ホームページ > Java > &#&チュートリアル > JDBC で名前付きパラメータを実装するにはどうすればよいですか?

JDBC で名前付きパラメータを実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-18 22:22:02
オリジナル
592 人が閲覧しました

How Can I Implement Named Parameters in JDBC?

JDBC での名前付きパラメータの使用

JDBC には名前付きパラメータのネイティブ サポートがないにもかかわらず、この機能を実現する方法があります。実装方法は次のとおりです。

Spring Framework の JDBC テンプレート

Spring は、名前付きパラメーターを有効にする便利な JDBCTemplate クラスを提供します。これにより、接続管理の煩わしさがなくなり、クエリの実行が簡素化されます。

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);
ログイン後にコピー

このコードでは、:name と :city は名前付きパラメータを表し、対応する値は MapSqlParameterSource クラスを使用して設定されます。

JDBC-Named-Parameters-Project

こんな方へよりカスタマイズ可能なアプローチを好むため、JDBC-Named-Parameters-Project は、JDBC に名前付きパラメーターのサポートを追加するライブラリを提供します。このライブラリは任意の JDBC ドライバーで使用でき、柔軟なソリューションを提供します。

PreparedStatement stmt = connection.prepareStatement("SELECT * FROM customers WHERE name = ? AND city = ?");
stmt.setString(1, name);
stmt.setString(2, city);
ログイン後にコピー

この例では、疑問符 (?) は名前付きパラメーターを表し、その値は setString メソッドを使用して設定されます。

名前付きパラメータを使用する利点:

  • 可読性の向上クエリの保守性とメンテナンス性
  • SQL インジェクション攻撃のリスクの軽減
  • パラメータのバインドと処理の簡素化

以上がJDBC で名前付きパラメータを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート