Spring jdbc のデータベース操作オブジェクト モデルの詳細な例 Spring Jdbc データベース操作のオブジェクト化 オブジェクト指向メソッドを使用してリレーショナル データベース操作を表現し、スレッドセーフで再利用可能なオブジェクト モデルを実装します。最上位の親クラス インターフェイスは RdbmsOperation です。 SqlOperation はこのインターフェイスを継承して、選択、更新、呼び出しなどのデータベース操作を実装します。 1. クエリインターフェース: SqlQuery 1) GenericSqlQuery、UpdatableSqlQuery、MappingSqlQueryWithParameter 2) SqlUpdate、バッチSqlUpdate 3) SQLコール 1) データベース操作 select をオブジェクトとしてカプセル化します。クエリ操作の基本クラスは SqlQuery です。すべてのクエリはこのクラスで表すことができます。Spring JDBC では、結果セットを Java オブジェクトにマッピングするための、より使いやすい MappingSqlQueryWithParameters と MappingSqlQuery も提供されています。クエリ オブジェクト クラスには、UpdatableSqlQuery と SqlFunction という 2 つの拡張機能も用意されています。 2) 追加、削除、変更操作では、データベース操作の挿入、更新、削除をオブジェクトとしてカプセル化します。追加、削除、変更操作の基本クラスは SqlUpdate です。もちろん、バッチ処理用の BatchSqlUpdate も提供されています。 3) ストアド プロシージャと関数の呼び出しはオブジェクトとしてカプセル化されます。基本クラスは SqlCall クラスで、StoredProcedure 実装を提供します。 データベース接続 JDBC: Spring jdbc は DataSource を介してデータベース接続を制御します。つまり、その実装サブクラスを介してデータベース接続が取得されます。 1) DriverManagerDataSource: DriverManager.getConnection() の単純なカプセル化 2) SingleConnectionDataSource: 接続を内部的にカプセル化し、閉じられず、複数のスレッドで使用できないため、テストに使用されます。 3) LazyConnectionDataSourceProxy: DataSource をカプセル化し、データベース接続の取得を遅らせるために使用されます。接続は、Statement が実際に作成されたときにのみ取得されます。したがって、実際のプロジェクトでは、最終的にプロキシを使用して元の DataSource をラップし、本当に必要なときにのみ接続が取得されるようにします。 ベンダー: 提供される DataSource 実装には、主に C3P0/Proxool/DBCP/ などが含まれます。これらの実装はすべて、データベース接続プール機能を備えています。 DataSourceUtils: Spring JDBC 抽象フレームワークは、getConnection(DataSource dataSource) メソッドを通じてデータベース接続を取得し、releaseConnection(Connection con, DataSource dataSource) はデータベース接続を解放するために使用され、DataSourceUtils は Spring 管理トランザクションをサポートするために使用されます。DataSourceUtils を使用して取得された接続のみが Spring 管理トランザクションを持ちます。 Spring JDBC は、DaoSupport 抽象クラスを通じて一貫したデータベース アクセスを提供します。 1) JdbcDaoSupport: 一貫したJdbcTemplateアクセスをサポート 2) NamedParameterJdbcDaoSupport: NamedParameterJdbcTemplateへのアクセスを提供するJdbcDaoSupportのサブクラス 3) SimpleJdbcDaoSupport: SimpleJdbcTemplate アクセスを提供する JdbcDaoSupport サブクラス JdbcTemplate、NamedParameterJdbcTemplate、および SimpleJdbcTemplate クラスは、接続の取得と解放に DataSourceUtils を使用し、接続はスレッドにバインドされるため、これらの JDBC テンプレート クラスはスレッドセーフです。つまり、JdbcTemplate オブジェクトは複数のスレッドで再利用できます。 ご質問がありましたら、メッセージを残すか、コミュニティに参加して話し合いましょう。お読みいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: Linuxでスワップパーティションファイルを作成する方法
>>: Vueプロジェクトでパラメータジャンプ機能を実装する
<br />Web ページ上の情報は主にテキストベースです。 Web ページでは、フォン...
ゲームのソースコードのダウンロードアドレスを取得するためのJavaScript:クリックしてソースコ...
シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...
1. nginx仮想ホストの設定仮想ホストを使用すると、実行する Web サイトごとに個別の Ngi...
1. 兄弟要素の余白を結合する効果は次のようになります: (2 つの間の間隔は 150 ピクセルでは...
次のように、Win10でMysqlの解凍バージョンをインストールします。環境: win10 64ビッ...
Vue におけるストアの最も単純な応用はグローバル ストレージです。ここでは、相互にジャンプするため...
<br />緑は黄色と青(寒色と暖色)の中間の色で、より穏やかな色です。そのため、緑は最...
目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...
まず、Moments を開いて、写真の数が異なるいくつかのレイアウトを確認するか、以下の例を参照して...
1. MySQL で現在の時刻を表現するにはどうすればよいでしょうか?実際、表現方法はいろいろありま...
シナリオ: データ量が増加すると、MySQL が配置されているディスクがいっぱいになり、より大きなス...
クラシックな色の組み合わせの中でも、黒、白、グレーの時代を超えた魅力を否定できる人はおそらくいないで...
HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...
序文この実験では、デバッグ用に2つの仮想マシン(CentOs6とRed Hat 6)を準備します。 ...