LoginSignup
0
1

More than 5 years have passed since last update.

JDBCを用いたJavaとDerbyの連携(NetBeansを使用)

Last updated at Posted at 2017-08-11

JDBCを利用するためのJavaクラスを書く前に、、

・JDKのバージョンを確認しておく
・環境変数を設定しておく(Java appがJDBCドライバーを認識できるように)  
  https://www.agtech.co.jp/html/v11manuals/11.20/jdbc/jdbc-2-2.html 
 (まとまっているのはこちら)
  https://netbeans.org/competition/win-with-netbeans/mysql-client_ja.html
 (NetBeansの場合)
・JDBCドライバなどの適切な設定方法を確認
  http://www.ne.jp/asahi/hishidama/home/tech/java/javadb.html
・Derby JDBCと検索すると有力なサイトが出てくる。
・DerbyのデータベースのユーザーIDとパスワードはいずれも”APP”に設定しておく必要がある。

JDBCを利用するためのJavaクラスの書き方(例)

下記はデータベースよりデータを出力した例。
以下は、表1のようなテーブルを持ったデータベースからデータを出力している。

表1 EMPLOYEES

EMP_NO EMP_NAME
1 HOGE
2 HORII

例1 JDBCcon クラスの記述

import java.sql.*;
 public class JDBCcon {
     public static void main (String[] args){      
        Statement stmt = null;
        ResultSet rs = null;
        Connection con = null;

        try{
        //ステップ1 ドライバの登録
        Class.forName("org.apache.derby.jdbc.ClientDriver");


        //ステップ2 データベースの指定
        String url = "jdbc:derby://localhost:1527/EmployeeDB";

        //ステップ3 データベースへの接続の確立
        con = DriverManager.getConnection(url,"APP","APP");

        //ステップ4 ステートメントの作成
        stmt = con.createStatement();

        //ステップ5 : SQLの実行
        String sql ="SELECT * FROM EMPLOYEES";

        rs = stmt.executeQuery(sql);

        //ステップ6 : 結果の処理
          while (rs.next()){
            System.out.println("EMP_NO = " + rs.getString(1));
            System.out.println("EMP_NAME = " + rs.getString(2));
            System.out.println();
          }

        } catch(ClassNotFoundException e){
          System.out.println(e.getMessage());
          e.printStackTrace();
        } catch(SQLException e){
          System.out.println(e.getMessage());
          e.printStackTrace();

        //ステップ7 : JDBCオブジェクトの終了  
        } finally{
          try{
            if(rs != null) rs.close();
            if(stmt != null) stmt.close();
            if(con != null) con.close();
          }catch (SQLException e){}
        }    
    }
}

例2 実行結果

run:
EMP_NO = 1
EMP_NAME = HOGE      

EMP_NO = 2
EMP_NAME = HORII     

追記:
JDK1.6のJDBC4.0からはクラスパスにあるドライバを自動ロードするようです。ご指摘ありがとうございました。

 

0
1
2

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
0
1