JavaでDBを操作するには
Javaで使うMySQLをドライバーを入手し、プロジェクトに追加する
SQLドライバーを入手
以下のURLにアクセスし、Select Operating System:
の下にあるセレクトボックスをPlatform Independent
にして
zipをダウンロードし、解凍する。(ダウンロード先はどこでもOK)
SQLドライバー
解凍したらjarファイル
ができる。
プロジェクトに追加
解凍したSQLドライバーをプロジェクトに追加する。
Eclipse
で作ったプロジェクトのWebContent->WEB-INF->lib
にドラッグ&ドロップ
以下のようになる。
ビルドパスの構成を設定
``プロジェクト右クリック->ビルド・パス->ビルド・パスの構成を開き、ライブラリタブから
外部JARの追加`を選択し、先ほど`WebContent->WEB-INF->lib`に追加したjarファイルを選択し、追加させる。
追加させた時の画面が以下の通り。
DBの接続確認
以下の実装でDB接続を図る
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBManager {
public static Connection getConnection(){
Connection con = null; // 初期化
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:ポート番号/データベース名","ユーザー名","パスワード");
System.out.println("DB接続成功!!!");
return con;
}catch(ClassNotFoundException e){
throw new IllegalMonitorStateException(); // クラスがなかった時の例外処理
} catch (SQLException e) {
throw new IllegalMonitorStateException(); // SQLでエラーが起きた時の例外処理
}
}
}
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:ポート番号/データベース名","ユーザー名","パスワード");
System.out.println("DB接続成功!!!"); // 成功したら出力するようになっている なくてもOK
return con; // 接続結果を返す
Class.forName("com.mysql.jdbc.Driver");
Classクラス
クラスクラス・・・w
すべてのクラスのスーパークラスである java.lang.Object クラスにgetClass()というメソッドが実装されており、サブクラスのインスタンス生成時に該当のサブクラスのClass情報をClassクラスのインスタンスとして生成し、保持します。
クラス読み込み用クラスみたいなイメージかな
forName("com.mysql.jdbc.Driver");
()内はクラス名 ここではSQLドライバーを指定している。
forName()することにより、DBドライバクラスがロードされ、staticイニシャライザが実行されます。DBドライバクラスは全て、java.sql.Driverを実装しており、各DBドライバクラスでは、staticイニシャライザでDriverManagerクラスというドライバを管理するクラスにDBドライバクラス自身を登録しに行くという処理を実施しています。
forName
でSQLドライバーを探しに行って勝手に登録してくれるみたい
参考:知ってるようで知らないClassクラス(基本編)
以上でDBの接続は完了する。