概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.5.0.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)

機能階層
  ＤＢ/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 条件のカラム名 通常の WHERE 句の書き方と同じで、カラム配列(names)に対応する設定値(values)の値を 割り当てたい箇所に[カラム名] を記述します。
`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` - String[] カラム名称配列
  例外:
    `java.lang.RuntimeException` - tbl が null の場合

メソッドの詳細

### setKeys

    public void setKeys(java.lang.String[] key)

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

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

### setTable

    public void setTable(java.lang.String tbl)

  Insert/Update/Delete 時の登録するテーブル名

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

### setConnectionID

    public void setConnectionID(java.lang.String conn)

  データベースの接続先IDを設定します。

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

### setApplicationInfo

    public void setApplicationInfo(ApplicationInfo appInfo)

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

  パラメータ:
    `appInfo` - ApplicationInfo
  変更履歴:

    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( ?,? ) のような場合、キー一つに値２つを割り当てます。 値配列の並び順は、キー配列(keys)に対する（?の個数)に対応します。 注意：カラム名称配列(names)ではありません。また、先にキー配列(keys)を登録 しておかないと、キー配列登録時にエラーが発生します。 制約条件は、処理するQUERYに対して適用されますので、 key または、val が null の場合は、RuntimeException を Throwします。

  パラメータ:
    `key` - String 制約をかけるキー
    `val` - String 制約条件式
  例外:
    `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` - String
  例外:
    `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` - String[] カラム配列(names) に対応する設定値配列
  戻り値:
    cnt ここでの処理件数
  例外:
    `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する)
  戻り値:
    execCnt 今までの合計処理件数
  変更履歴:

    5.1.2.0 (2010/01/01) pMeta のクリア

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.5.0.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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