最近の更新

2012年8月4日土曜日

DbUtilsのResultSetHandlerを使用しレコード1行を任意の型で取得する方法

【目的】
DbUtilsのResultSetHandlerを使用しレコード1行を任意の型で取得します。



【手順】
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.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<Company> h = new ResultSetHandler<Company>() {
        public Company handle(ResultSet rs) throws SQLException {
            if (!rs.next()) {
                return null;
            }

            Company company = new Company();
            company.setCompanyID(rs.getString(1));
            company.setCompanyName(rs.getString(2));

            return company;
        }
    };

    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();
            Company company = run.query(conn, "SELECT CompanyID, CompanyName FROM MST_Company WHERE CompanyID = ?", h, "0000000002");
            System.out.print(company.getCompanyID());
            System.out.print(",");
            System.out.print(company.getCompanyName());
        } catch (SQLException e) {
            System.out.println("SQLの実行に失敗しました。");
            e.printStackTrace();
        } finally {
            try {
                DbUtils.close(conn);
            } catch (SQLException e) {
                System.out.println("データベースとの切断に失敗しました。");
                e.printStackTrace();
            }
        }
    }
}

class Company {
    private String companyID;
    private String companyName;

    public Company() {}

    public String getCompanyID() {
        return companyID;
    }
    public void setCompanyID(String companyID) {
        this.companyID = companyID;
    }
    public String getCompanyName() {
        return companyName;
    }
    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }
}

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






























以上です。

0 件のコメント:

コメントを投稿

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

関連記事