Javaプログラミング/サーバサイド&ケータイJava

Eclipse GanymedeでJava DBを利用する(5ページ目)

Eclipseの新バージョン「Ganymede」で、Javaの標準データベース「Java DB」を利用してみましょう。

執筆者:掌田 津耶乃

データベースにアクセスする


では、作成したJava DBのデータベースにJavaからアクセスをしてみましょう。ここでは、一般的なアプリケーションのmainメソッドからデータベースにアクセスしてみます。先ほど、サンプルとしてSQLコマンドを実行し、ダミーのテーブルを作成しました。これにアクセスするサンプルを考えてみましょう。

package jp.tuyano;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class DBTest {

  public static void main(String[] args) {
    Connection conn = null;
    Statement state = null;
    ResultSet rs = null;
    try {
      Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
      Properties prop = new Properties();
      prop.put("user", "admin");
      prop.put("password", "admin");
      conn = DriverManager.getConnection
        ("jdbc:derby:C:\\DerbyDatabases\\allabout_db", prop);
      conn.setAutoCommit(true);
      state = conn.createStatement();
      String query = "select * from testdata";
      rs = state.executeQuery(query);
      while (rs.next()){
        String id = rs.getString("id");
        String msg = rs.getString("msg");
        System.out.println("id:" + id + ", msg:" + msg);
      }
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (SQLException e) {
      e.printStackTrace();
    } finally {
      try {
        rs.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
      try {
        state.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
      try {
        conn.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }
}


ここでは、直接データベースファイルにアクセスする形で作成をしてあります。サーバ&クライアントとしてでなく、直接データベースにアクセスをする場合には、まずドライバークラスを以下のようにして読み込みます。

"org.apache.derby.jdbc.EmbeddedDriver"

そして、Connectionの取得を以下のように行います。

conn = DriverManager.getConnection
  ("jdbc:derby:C:\\DerbyDatabases\\allabout_db", prop);

ここでは、アクセスするユーザIDとパスワードをPropertiesインスタンスにまとめ、これを引数に指定してあります。接続先URLが、「jdbc:derby:データベースのパス」という形になることに注意をしてください。

これで実際にデータベースからテーブルのレコードを取り出し表示できれば、データベースへのアクセスが正常に行えることがわかります。後は、実行するSQLコマンドを変更してデータベースを更に操作することができるでしょう。
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
【編集部からのお知らせ】
・「20代男性俳優」について、アンケート(2024/5/31まで)を実施中です!(目安所要時間5分)

※抽選で30名にAmazonギフト券1000円分プレゼント
※回答上限に達し次第、予定より早く回答を締め切る場合があります
  • 前のページへ
  • 1
  • 3
  • 4
  • 5
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます