openGionopenGion
5.5.9.0

org.opengion.fukurou.db
クラス DBSimpleTable

java.lang.Object
  上位を拡張 org.opengion.fukurou.db.DBSimpleTable

public class DBSimpleTable
extends java.lang.Object

DBTableModel インターフェースを継承した TableModel の実装クラスです。 sql文を execute( query ) する事により,データベースを検索した結果を DBTableModel に割り当てます。 メソッドを宣言しています DBTableModel インターフェースは,データベースの検索結果(Resultset)をラップする インターフェースとして使用して下さい。

変更履歴:
5.2.2.0 (2010/11/01) パッケージ移動(hayabusa.db ⇒ fukurou.db)
機能階層
DB/Shell制御
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

コンストラクタの概要
DBSimpleTable(java.lang.String[] nm)
          データ配列のカラム名称配列を指定してオブジェクトを構築します。
 
メソッドの概要
 void addConstrain(java.lang.String key, java.lang.String val)
          Insert/Update/Delete 時の PreparedStatement の引数(?)
 int close(boolean commitFlag)
          DB処理をクロースします。
 int execute(java.lang.String[] values)
          データ配列を渡して実際のDB処理を実行します。
 void setApplicationInfo(ApplicationInfo appInfo)
          アクセスログ取得の為,ApplicationInfoオブジェクトを設定します。
 void setConnectionID(java.lang.String conn)
          データベースの接続先IDを設定します。
 void setKeys(java.lang.String[] key)
          登録に使用するカラムキー配列(keys)を登録します。
 void setTable(java.lang.String tbl)
          Insert/Update/Delete 時の登録するテーブル名
 void setWhere(java.lang.String wh)
          Update/Delete 時のキーとなるWHERE 条件のカラム名を設定します。
 void startDelete()
          Delete 処理の開始を宣言します。
 void startInsert()
          Insert 処理の開始を宣言します。
 void startUpdate()
          Update 処理の開始を宣言します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DBSimpleTable

public DBSimpleTable(java.lang.String[] nm)
データ配列のカラム名称配列を指定してオブジェクトを構築します。

パラメータ:
nm - カラム名称配列
例外:
java.lang.RuntimeException - tbl が null の場合
メソッドの詳細

setKeys

public void setKeys(java.lang.String[] key)
登録に使用するカラムキー配列(keys)を登録します。 引数のkey配列が null の場合は、names と同じカラム名称配列(names)が使用されます。 キー配列(keys)は、一度しか登録できません。また、addConstrain等のメソッド 呼び出しを先に実行すると、カラム名称配列(names)が設定されてしまう為、 その後にこのメソッドを呼び出すとエラーが発生します。

パラメータ:
key - 登録カラム名称配列
例外:
java.lang.RuntimeException - すでに キー配列(keys)が登録済み/作成済みの場合
関連項目:
addConstrain( String ,String )

setTable

public void setTable(java.lang.String tbl)
Insert/Update/Delete 時の登録するテーブル名

パラメータ:
tbl - テーブル名
例外:
java.lang.RuntimeException - tbl が null の場合

setConnectionID

public void setConnectionID(java.lang.String conn)
データベースの接続先IDを設定します。

パラメータ:
conn - 接続先ID

setApplicationInfo

public void setApplicationInfo(ApplicationInfo appInfo)
アクセスログ取得の為,ApplicationInfoオブジェクトを設定します。

パラメータ:
appInfo - アプリ情報オブジェクト
変更履歴:
3.8.7.0 (2006/12/15) 新規追加

addConstrain

public void addConstrain(java.lang.String key,
                         java.lang.String val)
Insert/Update/Delete 時の PreparedStatement の引数(?)制約 制約条件(val)は、そのまま引数に使用されます。通常、? で表される パラメータに、文字長を制限する場合、SUBSTRB( ?,1,100 ) という val 変数を与えます。 また、キー一つに対して、値を複数登録したい場合にも、使用できます。 例えば、NVAL( ?,? ) のような場合、キー一つに値2つを割り当てます。 値配列の並び順は、キー配列(keys)に対する(?の個数)に対応します。 注意:カラム名称配列(names)ではありません。また、先にキー配列(keys)を登録 しておかないと、キー配列登録時にエラーが発生します。 制約条件は、処理するQUERYに対して適用されますので、 key または、val が null の場合は、RuntimeException を Throwします。

パラメータ:
key - 制約をかけるキー
val - 制約条件式
例外:
java.lang.RuntimeException - key または、val が null の場合
関連項目:
setKeys( String[] )

setWhere

public void setWhere(java.lang.String wh)
Update/Delete 時のキーとなるWHERE 条件のカラム名を設定します。 通常の WHERE 句の書き方と同じで、カラム配列(names)に対応する設定値(values)の値を 割り当てたい箇所に[カラム名] を記述します。文字列の場合、設定値をセットする ときに、シングルコーテーションを使用しますが、[カラム名]で指定する場合は、 その前後に、(')シングルコーテーションは、不要です。 WHERE条件は、登録に使用するキー配列(keys)に現れない条件で行を特定することがありますので カラム名称配列(names)を元にカラム名のアドレスを求めます。 [カラム名]は、? に置き換えて、PreparedStatement として、実行される形式に変換されます。 例:FGJ='1' and CLM=[CLM] and SYSTEM_ID in ([SYSID],'**')

パラメータ:
wh - WHERE条件のカラム名
例外:
java.lang.RuntimeException - [カラム名]がカラム配列(names)に存在しない場合
変更履歴:
4.3.4.0 (2008/12/01) キー配列(keys)が未設定(null)の場合は、カラム名称配列(names)を割り当てる
5.0.2.0 (2009/11/01) バグ修正(keysはデータセットのキーなので、where句のカラムに含まれて入いるわけではない)

startInsert

public void startInsert()
                 throws java.sql.SQLException
Insert 処理の開始を宣言します。 内部的に、コネクションを接続して、PreparedStatementオブジェクトを作成します。 このメソッドと、close() メソッドは必ずセットで処理してください。

例外:
java.sql.SQLException - Connection のオープンに失敗した場合
変更履歴:
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応)
5.3.8.0 (2011/08/01) useParamMetaData を ConnectionFactory経由で取得。(PostgreSQL対応)

startUpdate

public void startUpdate()
                 throws java.sql.SQLException
Update 処理の開始を宣言します。 内部的に、コネクションを接続して、PreparedStatementオブジェクトを作成します。 このメソッドと、close() メソッドは必ずセットで処理してください。

例外:
java.sql.SQLException - Connection のオープンに失敗した場合
変更履歴:
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応)
5.3.8.0 (2011/08/01) useParamMetaData を ConnectionFactory経由で取得。(PostgreSQL対応)

startDelete

public void startDelete()
                 throws java.sql.SQLException
Delete 処理の開始を宣言します。 内部的に、コネクションを接続して、PreparedStatementオブジェクトを作成します。 このメソッドと、close() メソッドは必ずセットで処理してください。

例外:
java.sql.SQLException - Connection のオープンに失敗した場合
変更履歴:
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応)
5.3.8.0 (2011/08/01) useParamMetaData を ConnectionFactory経由で取得。(PostgreSQL対応)

execute

public int execute(java.lang.String[] values)
            throws java.sql.SQLException
データ配列を渡して実際のDB処理を実行します。 この処理の前に、startXXXX をコールしておき、INSER,UPDATE,DELETEのどの 処理を行うか、宣言しておく必要があります。 戻り値は、この処理での処理件数です。 最終件数は、close( boolean ) 時に取得します。

パラメータ:
values - カラム配列(names) に対応する設定値配列
戻り値:
ここでの処理件数
例外:
java.sql.SQLException - Connection のクロースに失敗した場合
java.lang.RuntimeException - Connection DB処理の実行に失敗した場合
関連項目:
close( boolean )
変更履歴:
4.0.0.0 (2007/11/28) SQLException をきちんと伝播させます。
5.1.2.0 (2010/01/01) setObject に ParameterMetaData の getParameterType を渡す。(PostgreSQL対応)
5.3.8.0 (2011/08/01) useParamMetaData 時の setNull 対応(PostgreSQL対応)

close

public int close(boolean commitFlag)
DB処理をクロースします。 引数には、commit させる場合は、true を、rollback させる場合は、false をセットします。 戻り値は、今まで処理された合計データ件数です。 この処理は、SQLException を内部で RuntimeException に変換している為、catch 節は 不要ですが、必ず finally 節で呼び出してください。そうしないと、リソースリークの 原因になります。

パラメータ:
commitFlag - コミットフラグ [true:commitする/false:rollbacする]
戻り値:
今までの合計処理件数
変更履歴:
5.1.2.0 (2010/01/01) pMeta のクリア

openGion 5.5.9.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.