Java Gold合格へ向けて
黒本の第6章は『JDBCによるデータベース連携』、これをさらに細分化すると下記の9つに分かれる(黒本より抜粋)。
- JDBCの概要
- 接続文字列
- データベースの接続と切断
- データの検索・挿入・更新・削除を行うSQL文の実行
- DriverManagerクラス
- PreparedStatementインタフェース
- CallableStatementインタフェース
- ResultSetインタフェース
- ストアド・プロシージャ
そもそもデータベースというのは、データの集合を扱うソフトウェアのことを指す。たくさん集まったデータを管理・操作するソフトウェアのことはDBMSといい、主な機能としては次のようなものがあるようです。
- いつでも使いたいときに使いたいデータを検索する
- 新しいデータを重複なく追加する
- 既存のデータをすみやかに更新、削除する
- 複数のデータ間の関係性に不整合が起きないように制御する
- 複数のユーザーが同時にアクセスしても、データの不整合が発生しないように制御する
では章題にもなっているJDBC (Java Database Connectivity)はどのように関わってくるのか。
そもそもJavaでデータベースを操作する場合は、DB毎に異なるDBMSに合わせてプログラムを組む必要があります。しかし、それではあまりに大変だったので、DB毎に異なるDBMS差分を吸収するAPIがJavaから提供されました。それがJDBC (Java Database Connectivity)です。最終的に利用する際には、DBMSベンダーが提供するドライバとDBMSをダウンロードし、クラスパス上に設置すれば、あとはインタフェースに沿った方法で利用することができ、DBMSの中身を知らなくてもデータベースの管理・操作を行えます。
接続文字列はサーバーに接続する際にconnectコマンドで引き渡す文字列のことを指します。DBMSによってその書式は変わってくるようなのですが、下記の三点は固定で渡すようです。
- サーバーのIPアドレス
- ポート番号
- データベースの場所
上記のconnectコマンドでの操作は、JDBC (Java Database Connectivity)で提供されているDriverManagerクラスのgetConnectionメソッドを使って提供されており、引数として渡された接続文字列を利用して接続を行う。逆に閉じる際には、Connectionインタフェースのcloseメソッドを使うことで実現できるようになっている。なので流れとしては下記の通り。
- DriverManagerクラスのgetConnectionメソッドで接続
- データの検索・挿入・更新・削除といった操作
- Connectionインタフェースのcloseメソッドで切断
駆け足であるが、「1. JDBCの概要」から「3. データベースの接続と切断」はこんな感じだ。これからの勉強予定としては、実際に上記1から3の流れをやってみて、一通りのデータ操作を行えるようにしてみたいと思う。