データベース
データの保存先など、テーブルの入れ物。
データベースのデータ管理がDBMS(データベース管理システム)。
DBMSに指示をする専門言語がSQL
eclipse1ではH2Databaseを使うことが多い。
H2Databaseは、Javaで作成されており、本体は一つのJarファイルで構成されている。Jarファイルwpクラスパスに追加するだけで使用できるので、導入が簡単。
JDBCドライバ
Javaプログラムでデータベースを利用するには、プログラムからデータベースにSQLを送信して結果を取得する。
それをするのはJava.sqlパッケージに含まれるクラスやインタフェース達。
1.DriverManager:DBMSへの接続準備など
2.Connection:DBMSへの接続や切断
3.PreparedStatement:SQLの送信を運ぶ車
4.ResultSet:DBMSから検索結果を受け取る入れ物
5.SQLException:DBからのエラー情報を提供。
これらに加えてJDBCドライバと呼ばれるライブラリが必要。
→データベースを操作するために必要となるクラス・インターフェース群
Java.sqlパッケージのクラスやインターフェースを介して間接的に使用する。
Java.sqlパッケージとJDBCドライバを使用してデータベースを利用するJavaプログラムのことをJDBCプログラムと呼ぶ。
DAOパターン
DBを利用する処理を担当するクラス(DAO)を使う方法。
データベースを利用するクラスごとにJDBCプログラム特有のコードが書いてあると、使用するデータベースやテーブルの列名の変更などがあった場合に、全てのクラスで変更が必要。
これがとても大変なので、DBを利用する処理は担当者(DAO)が全て担うことにする。
DBを扱うクラスは、DAOを通して使うことで、変更が生じた時にDAOだけ変えればいい状態にする。
DAOクラスは、テーブルごとにつくり、クラス名を**「テーブル名+DAO」**にするのが一般的。
DAOの置き場所
DAOは基本的に「どこのクラスにおいても利用可能」だが、MVCモデルにおいてはアプリケーションで扱う情報の管理はModelの役割のため、
**Modelクラス(~Logicクラス)**からDaoを利用するのが一般的。