JDBCチュートリアル

JDBCチュートリアルへようこそ。Java DataBase Connectivity(JDBC)は、エンタープライズアプリケーションで最も広く使用されるAPIの一つです。これは、ほとんどのアプリケーションがデータベース接続を使用するためです。最近、基本的なJDBC、DataSource、およびSpring Frameworkとの統合に関連する多くのJDBCチュートリアルを投稿しました。

JDBCチュートリアル

これは、以前投稿したすべてのJDBCチュートリアルのインデックス記事です。JDBCが初めての場合、より良い理解のためにこれらのJDBCチュートリアルを順番に学習することをお勧めします。

  1. JDBCの例 JDBC APIは、データベースドライバからの緩く結合されたコードの記述を支援します。この記事では、使用可能なさまざまなタイプのデータベースドライバについて説明し、最も一般的に使用されるものとその理由について説明します。データベース接続、ステートメント、および結果セットについて学ぶための良い記事です。これらがいかに連携して特定のデータベース操作を実行するのかを示します。この記事ではまた、データベースドライバからの緩く結合されたJDBCプログラムの書き方を紹介し、設定の変更だけで別のデータベースサーバーに簡単に切り替えることができるようにします。
  2. JDBCステートメントとプリペアドステートメント JDBC APIは、データベースとの通信に使用する2つの方法を提供しています – ステートメントプリペアドステートメントです。ステートメントは使いやすいですが、SQLインジェクションの原因となることがあります。この記事では、SQLステートメントを使用したSQLインジェクションの方法と、SQLインジェクション攻撃を回避するためにプリペアドステートメントを使用するべき理由が明確に説明されています。また、キャッシング、オブジェクト指向プログラミング、見やすいコードなど、プリペアドステートメントの使用によって得られる主な利点についても詳しく説明されています。
  3. JDBCプリペアドステートメントのIN句の代替方法 JDBCプリペアドステートメントは事前にコンパイルされているため、IN句とは使用することができません。ステートメントに戻る代わりに、IN句をサポートするために使用できるいくつかの代替手法があります。この記事では、プリペアドステートメントでIN句をサポートするために取ることができる4つの異なる代替手法が紹介されています。必要になるタイミングはわかりませんので、この記事を読んでおくことをおすすめします。また、JDBCに関連する最もよく聞かれる面接の質問の一つでもあります。
  4. JDBCバッチ処理 バルクデータを扱い、多くのクエリを実行する場合、一つずつ実行するのは良いアイデアではありません。JDBCはバッチ処理のサポートを提供しており、一度に複数のクエリを処理することで、より高速な処理が可能です。この記事では、バッチ処理のためのプログラムの書き方について説明します。また、バッチ内のクエリのうち一つで例外が発生した場合の対処方法についても詳しく説明します。
  5. JDBC CallableStatementの例 JDBC APIのCallableStatementを使用して、ストアドプロシージャを実行することができます。Oracle Databaseでは、ストアドプロシージャのIN/OUTパラメータにカーソルやDBオブジェクトを使用することができます。このチュートリアルでは、具体的な詳細と例を提供します。
  6. JDBCデータソースの例私たちはほとんどの場合、単なるデータベース接続だけではなく、もっと多くのものを求めています。接続の作成は重いプロセスであり、プログラムのすべての部分が独自の接続を作成することは良い考えではありません。これはリソースの枯渇とパフォーマンスの低下につながる可能性があります。それが、エンタープライズアプリケーションのほとんどでコネクションプーリングを使用する理由です。ほとんどのデータベースドライバは、コネクションプールで使用できるDataSource実装クラスを提供しています。このチュートリアルでは、MySQLおよびOracleのDataSourceの例と使用方法について説明します。また、異なるDataSourceの実装をラップして疎結合を実現するためのApache DBCPについても詳細を提供します。
  7. JDBCトランザクション管理トランザクション管理は、実行するクエリのグループがあり、それらがすべて実行されるかどうかを確認したい場合に重要です。トランザクション管理を実現するために、接続の自動コミットをfalseに設定することができます。すべてがうまくいけば、トランザクションをコミットすることができます。また、例外が発生した場合は、トランザクション全体をロールバックすることができます。また、トランザクション内の特定のポイントにロールバックするために使用できるセーブポイントについても説明しています。セーブポイントは、トランザクション内のマイルストーンと考えることができます。
  8. Tomcat JNDIデータソースの例ほとんどのサーブレットコンテナは、トランザクション管理と接続プーリングのタスクをコンテナにオフロードするために使用できるJNDIリソースをサポートしています。この記事では、Apache TomcatサーバーでDataSourceを構成し、JNDIコンテキストルックアップを使用してDataSourceを取得して使用するためのさまざまな方法について説明します。
  9. Spring JDBCおよびJdbcTemplateの例この記事では、Spring FrameworkとのJDBCの統合の詳細を提供します。標準のJDBC APIを使用するか、JDBCに付随するすべてのボイラープレートコード(接続のオープン/クローズ、ステートメント、結果セットなど)を削除するのに役立つSpring JdbcTemplateの利点を活用することができます。
  10. Springのトランザクション管理Springは、トランザクション管理に対して組み込みのサポートを提供しています。トランザクション管理は横断的な関心事であり、Spring AOPアプローチを使用した宣言的トランザクション管理は非常にシンプルでエレガントです。JDBC操作に対するSpring Frameworkでのトランザクション管理のさまざまな側面を説明するサンプルプロジェクトです。
  11. Spring DataSource JNDI の例 Spring フレームワークは、一般的なタスクに対して構成ベースのソリューションを提供するため非常に人気があります。そのため、Spring フレームワークはシンプルな構成を提供し、JNDI コンテキストをルックアップし、サーブレットコンテナで定義された DataSource を取得することができます。このチュートリアルでは、Spring MVC の例プロジェクトを使用して簡単に実行する方法を示します。
  12. JSF JDBC 統合の例 JSF は、最も広く使用されているコンポーネントベースのフレームワークの1つです。このチュートリアルでは、JDBC API を JSF フレームワークと統合する方法を説明します。
  13. JDBC インタビューの質問と回答 40の JDBC 関連のインタビューの質問と詳細な回答のコレクションで、さまざまな種類の JDBC の質問に対して Java のインタビューで役立ちます。

I will be adding more posts in JDBC tutorial, so please bookmark the post for future reference too.

Source:
https://www.digitalocean.com/community/tutorials/jdbc-tutorial