1
1

More than 1 year has passed since last update.

JDBCとDAOパターンについて説明してみた

Last updated at Posted at 2021-09-25

データベース

データの保存先など、テーブルの入れ物。
データベースのデータ管理が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を利用するのが一般的。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1