最近の更新

2012年8月4日土曜日

DbUtilsのResultSetHandlerを使用しレコード1行をObjcet配列で取得する方法

【目的】
DbUtilsのResultSetHandlerを使用しレコード1行をObjcet配列で取得します。



【手順】
1.「Javaプロジェクトの作成方法」の手順で、「DbUtilsSample001」といプロジェクトを作成。
2.「PostgreSQLのJDBC Driver(Version 9.1-902 JDBC 4)をライブラリに設定する方法」の手順で、JDBCドライバをライブラリに設定します。
3.「DbUtils1.5をライブラリに設定する方法(Javaプロジェクト)」の手順で、「DbUtils」をライブラリに設定します。
4.「PostgreSQLのテーブルの作成方法」の手順で、テーブルを作成しておきます。
5.「PSqlGridでデータの追加方法」の手順で、データを追加しておきます。
6.「Javaクラスファイルの作成方法」の手順で、「Main.java」というクラスファイルを作成。
7.「Main.java」を以下の様に入力。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;

public class Main {
    private static ResultSetHandler<Object[]> h = new ResultSetHandler<Object[]>() {
        public Object[] handle(ResultSet rs) throws SQLException {
            if (!rs.next()) {
                return null;
            }

            ResultSetMetaData meta = rs.getMetaData();
            int cols = meta.getColumnCount();
            Object[] result = new Object[cols];

            for (int i = 0; i < cols; i++) {
                result[i] = rs.getObject(i + 1);
            }

            return result;
        }
    };

    public static void main(String[] args) {
        try {
            Class.forName("org.postgresql.Driver");
            System.out.println("JDBCドライバの読み込みに成功しました。");
        } catch (ClassNotFoundException e) {
            System.out.println("JDBCドライバの読み込みに失敗しました。");
            e.printStackTrace();
            return;
        }

        String url = "jdbc:postgresql://localhost/sampledb001?user=admin&password=";
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url);
            System.out.println("データベースとの接続に成功しました。");
        } catch (SQLException e) {
            System.out.println("データベースとの接続に失敗しました。");
            e.printStackTrace();
            return;
        }

        try {
            QueryRunner run = new QueryRunner();
            Object[] result = run.query(conn, "SELECT CompanyID, CompanyName FROM MST_Company WHERE CompanyID = ?", h, "0000000002");
            for (int i = 0; i < result.length; i++) {
                System.out.print(result[i]);
                System.out.print(",");
            }
        } catch (SQLException e) {
            System.out.println("SQLの実行に失敗しました。");
            e.printStackTrace();
        } finally {
            try {
                DbUtils.close(conn);
            } catch (SQLException e) {
                System.out.println("データベースとの切断に失敗しました。");
                e.printStackTrace();
            }
        }
    }
}

8.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング、「Ctrl+S」でファイルを保存。
9.「Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
10.以下の様に表示されれば成功です。






























以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事