社会人のメモ帳

忘れたくないことアレコレ

【第6週】第6章:JDBCによるデータベース連携を理解する【Java Gold合格へ向けて】

PREV | LIST | NEXT

Java Gold合格へ向けて

黒本の第6章は『JDBCによるデータベース連携』、これをさらに細分化すると下記の9つに分かれる(黒本より抜粋)。

  1. JDBCの概要
  2. 接続文字列
  3. データベースの接続と切断
  4. データの検索・挿入・更新・削除を行うSQL文の実行
  5. DriverManagerクラス
  6. PreparedStatementインタフェース
  7. CallableStatementインタフェース
  8. ResultSetインタフェース
  9. ストアド・プロシージャ

そもそもデータベースというのは、データの集合を扱うソフトウェアのことを指す。たくさん集まったデータを管理・操作するソフトウェアのことはDBMSといい、主な機能としては次のようなものがあるようです。

  • いつでも使いたいときに使いたいデータを検索する
  • 新しいデータを重複なく追加する
  • 既存のデータをすみやかに更新、削除する
  • 複数のデータ間の関係性に不整合が起きないように制御する
  • 複数のユーザーが同時にアクセスしても、データの不整合が発生しないように制御する

では章題にもなっているJDBC (Java Database Connectivity)はどのように関わってくるのか。

そもそもJavaでデータベースを操作する場合は、DB毎に異なるDBMSに合わせてプログラムを組む必要があります。しかし、それではあまりに大変だったので、DB毎に異なるDBMS差分を吸収するAPIJavaから提供されました。それがJDBC (Java Database Connectivity)です。最終的に利用する際には、DBMSベンダーが提供するドライバとDBMSをダウンロードし、クラスパス上に設置すれば、あとはインタフェースに沿った方法で利用することができ、DBMSの中身を知らなくてもデータベースの管理・操作を行えます。

接続文字列はサーバーに接続する際にconnectコマンドで引き渡す文字列のことを指します。DBMSによってその書式は変わってくるようなのですが、下記の三点は固定で渡すようです。

  • サーバーのIPアドレス
  • ポート番号
  • データベースの場所

上記のconnectコマンドでの操作は、JDBC (Java Database Connectivity)で提供されているDriverManagerクラスのgetConnectionメソッドを使って提供されており、引数として渡された接続文字列を利用して接続を行う。逆に閉じる際には、Connectionインタフェースのcloseメソッドを使うことで実現できるようになっている。なので流れとしては下記の通り。

  1. DriverManagerクラスのgetConnectionメソッドで接続
  2. データの検索・挿入・更新・削除といった操作
  3. Connectionインタフェースのcloseメソッドで切断

駆け足であるが、「1. JDBCの概要」から「3. データベースの接続と切断」はこんな感じだ。これからの勉強予定としては、実際に上記1から3の流れをやってみて、一通りのデータ操作を行えるようにしてみたいと思う。