fc2ブログ

[Java] データベースと接続する

  • Posted by: servletmania
  • 2011-01-06 Thu 16:02:49
  • JDBC




main()メソッドのある通常のJavaからデータベースにアクセスしてみます。

前提として、「run.bat」および「runmanager.bat」のファイルを開いてデータベースを立ち上げておきます。

作成するファイルは、[siroto]プロジェクトの[dbjava]フォルダ下の「DBManager.java」です。

package dbjava;

import java.sql.DriverManager;
import java.sql.Connection;

public class DBManager {

public static Connection testConnection(){
try{
Class.forName("org.hsqldb.jdbcDriver");
Connection con=DriverManager.getConnection(
"jdbc:hsqldb:hsql://localhost","sa","");
return con;
}catch(Exception e){
throw new IllegalStateException(e);
}
}

public static void main(String[] args) throws Exception{
Connection con=testConnection();
System.out.println("con="+con);
con.close();
}

}


このJavaアプリケーションを実行してデータベースへの接続に成功したら、Eclipseのコンソールに

con=org.hsqldb.jdbc.jdbcConnection@2e7263

のようなメッセージが出力されます。

JDBCを利用してJavaからデータベースに接続するには、java.sqlパッケージに含まれる「DriverManager」および「Connection」の2つのクラスをインポートする必要があります。

DriverManagerは、JDBCドライバを管理するためのクラスで、Connectionオブジェクトを取得する場合に使用します。Connectionは、データベースとの接続を表すインタフェースです。


今回作成したソースには、main()メソッドのほかにtestConnection()というメソッドを定義しています。

testConnection()メソッドにおいては、まず、Class.forName()メソッドを実行します。Class.forName()メソッドは、クラス名を指定してクラスをロードするメソッドで、引数にはJDBCドライバの完全クラス名を指定します。HSQLDBのJDBCドライバのクラス名は「org.hsqldb.jdbcDriver」です。

次に、データベースとの接続を表すConnectionオブジェクトconを取得します。
  Connection con=DriverManager.getConnection("jdbc:hsqldb:hsql://localhost","sa","");

Connectionオブジェクトの取得には、DriverManagerクラスのstaticメソッドであるgetConnection()メソッドを使用します。

getConnection()メソッドの引数は3つです。
  Connection getConnection(String url, String user, String password)

urlはJDBCのURL、userはDB接続のユーザー名「sa」、passwordはDB接続のパスワード(なし)です。

最後に、testConnection()メソッドでは、こうして取得したconを返します。

main()メソッドでは、testConnnection()メソッドで作成したConnectionオブジェクトconを、Connectionオブジェクトconに代入します(ややこしいかもしれませんが)。そしてconを出力します。

最後に、データベースへの接続をConnectionクラスのclose()メソッドで切断します。

今回作ったDBManagerファイルは、今後もConnectionを取得するために使用することになります。
スポンサーサイト



タグ :

Return to page top

Comments:

Comment Form
Only inform the site author.

Trackback+Pingback:

TrackBack URL for this entry
http://servletmania.blog137.fc2.com/tb.php/34-ced88a4e
月別アーカイブ
カテゴリ
リンク
RSSリンクの表示
QRコード
QR