JDBCの基礎知識 |
|
JDBCの基本的な機能は、Javaからデータベースに接続してSQLステートメントを実行することです。実行できるSQLステートメントは、以下の3類に分けることができ、それぞれに専用のインターフェイスが定義されています。
(1)通常のSQL
java.sql.Statementインターフェイスで定義され、executeQueryもしくはexecuteUpdateメソッドでSQLを実行することができます。
(2)プリコンパイルされたSQL
java.sql.PreparedStatementインターフェイスで定義され、SQL文にはパラメータを設定しておくことができます。 setXXX(XXXは型によって変わる)メソッドによってパラメータに値を設定し、executeQueryもしくはexecuteUpdateメソッドで、プリコンパイル済みのSQL
にパラメータを設定したものを実行することができます。
(3)ストアドプロシージャ
java.sql.CallableStatementインターフェイスで定義され、prepareCallメソッドで呼び出すプロシージャを指定し、INパラメータ、OUTパラメータを、それぞれ、setXXX、getXXX(XXXは型によって変わる)
メソッドで設定したり取り出したりすることができます。executeQueryもしくはexecuteUpdateメソッドで、実行することができます。
参照系SQL の場合、結果セットを取得することができ、それを操作するためのインターフェイス(java.sql.ResultSet)も定義されています。
ResultSetは、行ごとに操作を行うようなインターフェイスになっており、基本的には、 現在参照している行を示すカーソルを操作して行を移動し、データ取得用のメソッドによ って、列ごとのデータを取り出すという操作を行うことになります。
■JDBC 2.0の機能
JDBCの現在のバージョンは2.xですが、このバージョンからは、結果セットに対して、1.xにはなかった以下のような機能も追加されています。
●スクロール機能の強化
JDBC1.xでは、結果セットのカーソル移動は、順方向に1行ずつしか移動できませんでした。 JDBC2.xからは、スクロール機能が強化され、順方向、逆方向への相対位置への移動や、絶対位置へのカーソル移動などがサポートされました。
●更新可能な結果セットの提供
JDBC1.xでは、結果セットは参照のみが可能でしたが、JDBC2.xからは、更新可能な結果セットが追加され、データベースの更新を動的に反映したり、結果セットの更新をデータベースに反映させたりすることが可能になりました。
また、更新系ステートメントの実行に関しては、JDBC 2.0からバッチ実行がサポートされており、複数の更新SQLを一度にデータベースに送って処理することも可能になっています。
そのほか、以下のような機能もありますが、これらは、JDBC2.xでは、標準拡張パッケージになっており、JDKなどには含まれていません。次のリリースであるJDBC 3.0では、 これらの機能も標準になるようです。
●行セット
データベースの接続の有無に関係なく、結果セットを保持しておくことができます。
●JNDI
データベース接続の取得に、JDBC URLではなく、JNDIによるデータソースの論理名で接続を取得することができます。これによって、特定のURLやドライバに依存するコーディングを避けることができるようになります。
●接続プーリング
データベース接続をプールしておくことによって、パフォーマンスの向上を図ることができます(「接続のプーリングについて教えてください」を参照)。
●分散トランザクション
JTS(Java Transaction Service)でサポートされる2フェーズコミットなどの機能を提供します。
「Java Solution FAQ」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|