パッケージ org.opengion.fukurou.db
クラス DBUpdater
- java.lang.Object
-
- org.opengion.fukurou.db.DBUpdater
-
public final class DBUpdater extends java.lang.Object
PreparedStatementを利用した更新処理を行う、簡易的なクラスです。 ParameterMetaDataの使用有無を指定することで、パラメータを処理する際に、 sqlType を使用するかどうかを指定します。 また、データ登録時のバッチサイズに基づいた処理を行っています。 execute(String[]) で、行ごとのパラメータデータを渡します。 一番最後に、execEnd() を呼ぶことで、更新件数を返します。 更新件数を取得しない場合でも、このメソッドを呼んでください。 このクラスは、マルチスレッドに対応していません。- バージョン
- 6.9
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK9.0,
-
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 int
execEnd()
データの最後の処理を行います。void
execute(java.lang.String[] values)
データ配列を渡してPreparedStatementの引数に、値をセットします。void
execute(java.lang.String[] values, boolean[] isTime)
データ配列を渡してPreparedStatementの引数に、値をセットします。
-
-
-
コンストラクタの詳細
-
DBUpdater
public DBUpdater(int prmSize, java.sql.PreparedStatement pstmt)
PreparedStatement を指定して、インスタンスを作成します。 内部で、ParameterMetaData を作成して、sqlType を使用します。- パラメータ:
prmSize
- パラメータの個数pstmt
- PreparedStatementオブジェクト
-
DBUpdater
public DBUpdater(int prmSize, java.sql.PreparedStatement pstmt, boolean usePMeta)
PreparedStatementと、sqlTypeの使用有無を指定して、インスタンスを作成します。 usePMetaは、内部で、ParameterMetaData を作成して、sqlType を使用するかどうかを 指定します。ORACLEのようなタイプの- パラメータ:
prmSize
- パラメータの個数pstmt
- PreparedStatementオブジェクトusePMeta
- sqlType を使用するかどうか [true:使用する/false:使用しない]
-
-
メソッドの詳細
-
execute
public void execute(java.lang.String[] values) throws java.sql.SQLException
データ配列を渡してPreparedStatementの引数に、値をセットします。 オラクル系の場合は、そのまま、setObject を行えば、自動変換しますが、 それ以外のDBでは、java.sql.Types を渡す必要があります。さらに、null 値も、setNullを使用します。 今は、pMeta が、null かどうかで、オラクル系か、どうかを判定するようにしています。- パラメータ:
values
- ?に割り当てる設定値- 例外:
java.sql.SQLException
- DB処理の実行に失敗した場合
-
execute
public void execute(java.lang.String[] values, boolean[] isTime) throws java.sql.SQLException
データ配列を渡してPreparedStatementの引数に、値をセットします。 Timestamp オブジェクトを登録する場合の特別版です。 過去のコーディングとの互換性の関係で、ParameterMetaData を使用しません。- パラメータ:
values
- ?に割り当てる設定値isTime
- Timestampを設定するカラムの場合は、true- 例外:
java.sql.SQLException
- DB処理の実行に失敗した場合
-
execEnd
public int execEnd() throws java.sql.SQLException
データの最後の処理を行います。 具体的には、executeBatch() で、所定のバッチ数に届いていない場合の処理です。- 戻り値:
- 更新件数
- 例外:
java.sql.SQLException
- データベース処理で例外が発生した場合。
-
-