標準のワークベンチではDBアクセスクラスウィザードを使うことにより、JDBCによるDBアクセス処理をDBアクセスクラスとして自動生成することができます。
DBアクセスクラスでは、ウィザードで指定された情報にもとづいて検索、挿入、削除、更新の処理がメソッドとして、処理対象となるデータベースのカラムはクラスのフィールドとして展開されます。そのため、DBアクセスクラスを使う場合には、クラスのフィールドに対して値の設定、取得を行いながらメソッドを呼び出すことでDBアクセス処理を行うことになります。
DBアクセスクラスの作成
DBアクセスクラスは、[新規]ウィザードから[Java] > [ソース] > [DBアクセスクラス]を選択し、ウィザードで作成します。ウィザードでの設定は、以下を参考にしてください。
ソースフォルダ
DBアクセスクラスのソースを格納するフォルダを指定します。
パッケージ
DBアクセスクラスのパッケージ名を指定します。
名前
DBアクセスクラス名を指定します。
マニュアルコミット用のメソッドを生成
DBアクセスクラスにマニュアルコミット用のメソッドを生成するかどうかを指定します。チェックした場合、トランザクションを制御するためのcommitメソッドとrollbackメソッドを生成します。
DBアクセスによる例外処理をキャッチ
DBアクセスメソッド内で例外(SQLExceptionなど)をキャッチするかどうかを指定します。
接続リストボックス
作成済みのDB接続一覧が表示され、この中から1つ選択します。
接続の追加
新規DB接続ウィザードを開きます。
接続
接続リストボックスで選択されたDBに接続します。
[DB情報]ページ
[追加]、[編集]、[削除]ボタンを使用してDBアクセスメソッド定義に関する情報を指定します。
[DBアクセスメソッド]ダイアログボックス
DBアクセスメソッドの名前、戻り値の型、引数などを指定します。
[データベースオブジェクト]には接続しているデータベースのスキーマ、表および列名の一覧が表示されます。処理対象とする表、列を指定します。
[アクセスタイプ]にはメソッドで行うデータベースアクセスタイプを選択します。
[条件]にはデータベースにアクセスする際に使用する条件を指定します。条件には、SQL文のWHERE節以降の文字列を以下の例のように指定します。条件を動的に変更にするための"?"の代わりにDBアクセスメソッドのパラメタ名の前後を"?"で挟んで指定します。
(例) WHERE NAME = ?param1? AND ID = ?param2?
[フィールドの情報定義]ページ
DBアクセスメソッドの定義内容を確認または変更します。
[型]およびフィールド名は変更可能です。
[取得メソッド]および[設定メソッド]は、[getter/setterメソッドを生成する]がチェックされた場合に有効となります。
参考
JDBCドライバ2.xを使用する場合は、自動生成されたクラスのconnectメソッドを、同じソース内に記述してある以下のコメント内容と入れ替える必要があります。
// JDBC2.x接続用のconnectメソッドです。 // 既存のconnectメソッドと入れ替え、必要項目を入力する事でデータソースによるアクセスが実行できます。 //public void connect(java.lang.String userName, java.lang.String passWord) throws javax.naming.NamingException, java.sql.SQLException { // //データベースに接続します。 // java.util.Hashtable env = new java.util.Hashtable(); // env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "{初期コンテキストファクトリ}"); // env.put(javax.naming.Context.PROVIDER_URL, "{プロバイダURL}"); // javax.naming.InitialContext ctx = new javax.naming.InitialContext(env); // javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/{データソース名}"); // con = ds.getConnection(userName, passWord); // con.setAutoCommit(true); //}
また、コメント内容との入れ替えの際には、以下のデータベースに接続するための項目を記述し直します。
項目名 | 記述例 |
---|---|
初期コンテキストファクトリ | com.fujitsu.symfoware.jdbc2.jndisp.SYMContextFactory (あらかじめプロジェクトのビルドパスにJDBCドライバを登録) |
プロバイダURL | SYM://接続先アドレス:ポート番号 |
データソース名 | JDBC/データソース登録ツールで登録した名前 |