
するときに以下のように
Class.forName (driver);
をする必要があるのですが
これの意味を教えてください
なぜこれが必要なのでしょうか?
・・・・・・・・・・・・・
// JDBCドライバの登録
String driver = "org.postgresql.Driver";
// データベースの指定
String url = "jdbc:postgresql://fedorasrv.com/test";
//サーバ名またはIPアドレス+データベース名
String user = "fedora";
//データベース作成ユーザ名
String password = "XXXXXXXX";
//データベース作成ユーザパスワード
Class.forName (driver);
// データベースとの接続
Connection con = DriverManager.getConnection(url, user, password);
・・・・・・・・・・・・・・
No.1ベストアンサー
- 回答日時:
簡単に書くと、DriverをDriverManagerに登録するためです。
動作を順を追って書くと、
1.Class.forName()を呼び出すと、Driverのstaticイニシャライザ(static{}の部分)が呼ばれます。
2.DriverのstaticイニシャライザではDriver自身のインスタンスを生成してDriverManager.registerDriver()を呼び、DriverManagerにDriver自身を登録します。
3.DriverManager.getConnection()が呼ばれると、DriverManagerは登録されているDriverのacceptsURL()を呼び出し指定されたURLに対応出来るDriverが登録されているか調べます。そして、対応出来るDriverが見つかった場合はDriverのconnect()を呼び出してConnectionを取得します。
DriverManagerのソース、PostgerSQLやMySQLなどのJDBCドライバのソースは公開されているので見てみるとわかりやすいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- MySQL 「utf8mb4_general_ci」はMAMPでは何に当たりますか? 1 2022/06/02 07:45
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VB】コンボボックスにデータ...
-
UPDATE時にSETしたい日本語文字...
-
VB6.0でSQLServerへ・・・Recor...
-
OracleDataReaderについて…
-
初心者ですデータベースの形式 ...
-
複数SQL発行について
-
VB6でデータベースを変えるとテ...
-
VBSでADOを使ってaccessのテー...
-
AndroidアプリからMySQLのデー...
-
名前'dbOpenDynaset'は宣言され...
-
MDBをADO接続でINSERT・UPDATE...
-
vb.netでデータベース(Access)...
-
10進数を2進数
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
配列の中の最大値とそのインデ...
-
他のMDBのテーブルに追加したい
-
INT64対応のprintf系関数はあり...
-
Dir関数で読み取り順を操作でき...
-
非同期のプロセス間通信(パイプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UPDATE時にSETしたい日本語文字...
-
データベースの接続ができない
-
【VB】コンボボックスにデータ...
-
複数SQL発行について
-
vb.netでデータベース(Access)...
-
初心者ですデータベースの形式 ...
-
VB6.0とaccessのDBを接続する
-
DataGridに表示されない
-
OracleDataReaderについて…
-
名前'dbOpenDynaset'は宣言され...
-
VBSでADOを使ってaccessのテー...
-
VB2005でmdbに接続するには?
-
レンタルサーバでのDB接続の件
-
エクセルVBAでアクセスのテーブ...
-
Accessを編集するとASPで接続で...
-
VB6でデータベースを変えるとテ...
-
zoopsのサーバーへの設定がわか...
-
[ASP]エラー プロバイダが指...
-
AndroidアプリからMySQLのデー...
-
Javaでデータベースにアクセス
おすすめ情報