org.seasar.extension.jdbc.query
クラス AutoBatchInsertImpl<T>

java.lang.Object
  上位を拡張 org.seasar.extension.jdbc.query.AbstractQuery<S>
      上位を拡張 org.seasar.extension.jdbc.query.AbstractAutoBatchUpdate<T,AutoBatchInsert<T>>
          上位を拡張 org.seasar.extension.jdbc.query.AutoBatchInsertImpl<T>
型パラメータ:
T - エンティティの型です。
すべての実装されたインタフェース:
AutoBatchInsert<T>, BatchUpdate<AutoBatchInsert<T>>, Query<AutoBatchInsert<T>>, SqlLogger

public class AutoBatchInsertImpl<T>
extends AbstractAutoBatchUpdate<T,AutoBatchInsert<T>>
implements AutoBatchInsert<T>

AutoBatchUpdateの実装クラスです。

作成者:
koichik

フィールドの概要
protected  java.util.Set<java.lang.String> excludesProperties
          挿入から除外するプロパティ
protected  java.util.Set<java.lang.String> includesProperties
          挿入対象とするプロパティ
protected static java.lang.Long INITIAL_VERSION
          バージョンプロパティの初期値
protected static java.lang.String INSERT_STATEMENT
          INSERT文
protected  IntoClause intoClause
          into句
protected  boolean supportBatch
          バッチ更新が可能な場合はtrue
protected  java.util.List<PropertyMeta> targetProperties
          更新対象となるプロパティメタデータのList
protected  boolean useGetGeneratedKeys
          Statement.getGeneratedKeys()を使用する場合はtrue
protected  ValuesClause valuesClause
          values句
 
クラス org.seasar.extension.jdbc.query.AbstractAutoBatchUpdate から継承されたフィールド
batchSize, entities, entityMeta, suppresOptimisticLockException
 
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたフィールド
callerClass, callerMethodName, completed, executedSql, jdbcManager, logger, paramList, queryTimeout
 
コンストラクタの概要
AutoBatchInsertImpl(JdbcManagerImplementor jdbcManager, java.util.List<T> entities)
           
 
メソッドの概要
protected  java.sql.PreparedStatement createPreparedStatement(JdbcContext jdbcContext)
          準備されたステートメントを作成します。
 AutoBatchInsert<T> excludes(java.lang.CharSequence... propertyNames)
          指定のプロパティを更新対象から除外します。
protected  int[] executeBatch(java.sql.PreparedStatement ps)
          バッチ更新を実行します。
protected  java.lang.Object getIdValue(PropertyMeta propertyMeta, T entity)
          バインドする識別子の値を返します。
 AutoBatchInsert<T> includes(java.lang.CharSequence... propertyNames)
          指定のプロパティのみを更新対象とします。
protected  boolean isOptimisticLock()
          楽観的同時実行制御を行っている場合はtrueを返します。
protected  void postExecute(java.sql.PreparedStatement ps, T entity)
          INSERT文を実行後処理を行います。
protected  void prepare(java.lang.String methodName)
          クエリの準備をします。
protected  void prepareIntoClause()
          into句の準備をします。
protected  void prepareParams(T entity)
          バインド変数を準備します.
protected  void prepareTargetProperties()
          into句に設定されるプロパティの準備をします。
protected  void prepareValuesClause()
          where句の準備をします。
protected  java.lang.String toSql()
          SQLに変換します。
 
クラス org.seasar.extension.jdbc.query.AbstractAutoBatchUpdate から継承されたメソッド
batchSize, execute, executeInternal, getEntities, getPreparedStatement, incrementVersions, prepareSql, validateRows
 
クラス org.seasar.extension.jdbc.query.AbstractQuery から継承されたメソッド
addParam, addParam, addParam, addParam, assertNotCompleted, callerClass, callerMethodName, completed, getCallerClass, getCallerMethodName, getExecutedSql, getJdbcManager, getParam, getParamClasses, getParamSize, getParamValues, getParamValueTypes, getQueryTimeout, getValueType, handleResultSet, logSql, logSql, prepareCallerClassAndMethodName, prepareInParams, queryTimeout, resetParams, toStringArray
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.seasar.extension.jdbc.BatchUpdate から継承されたメソッド
batchSize, execute
 
インタフェース org.seasar.extension.jdbc.Query から継承されたメソッド
callerClass, callerMethodName, queryTimeout
 

フィールドの詳細

INSERT_STATEMENT

protected static final java.lang.String INSERT_STATEMENT
INSERT文

関連項目:
定数フィールド値

INITIAL_VERSION

protected static final java.lang.Long INITIAL_VERSION
バージョンプロパティの初期値


includesProperties

protected final java.util.Set<java.lang.String> includesProperties
挿入対象とするプロパティ


excludesProperties

protected final java.util.Set<java.lang.String> excludesProperties
挿入から除外するプロパティ


targetProperties

protected final java.util.List<PropertyMeta> targetProperties
更新対象となるプロパティメタデータのList


intoClause

protected final IntoClause intoClause
into句


valuesClause

protected final ValuesClause valuesClause
values句


supportBatch

protected boolean supportBatch
バッチ更新が可能な場合はtrue


useGetGeneratedKeys

protected boolean useGetGeneratedKeys
Statement.getGeneratedKeys()を使用する場合はtrue

コンストラクタの詳細

AutoBatchInsertImpl

public AutoBatchInsertImpl(JdbcManagerImplementor jdbcManager,
                           java.util.List<T> entities)
パラメータ:
jdbcManager - 内部的なJDBCマネージャ
entities - エンティティのリスト
メソッドの詳細

includes

public AutoBatchInsert<T> includes(java.lang.CharSequence... propertyNames)
インタフェース AutoBatchInsert の記述:
指定のプロパティのみを更新対象とします。

定義:
インタフェース AutoBatchInsert<T> 内の includes
パラメータ:
propertyNames - 更新対象とするプロパティ名の並び
戻り値:
このインスタンス自身

excludes

public AutoBatchInsert<T> excludes(java.lang.CharSequence... propertyNames)
インタフェース AutoBatchInsert の記述:
指定のプロパティを更新対象から除外します。

定義:
インタフェース AutoBatchInsert<T> 内の excludes
パラメータ:
propertyNames - 更新対象から除外するプロパティ名の並び
戻り値:
このインスタンス自身

prepare

protected void prepare(java.lang.String methodName)
クラス AbstractQuery の記述:
クエリの準備をします。

定義:
クラス AbstractQuery<AutoBatchInsert<T>> 内の prepare
パラメータ:
methodName - メソッド名

prepareTargetProperties

protected void prepareTargetProperties()
into句に設定されるプロパティの準備をします。


prepareIntoClause

protected void prepareIntoClause()
into句の準備をします。


prepareValuesClause

protected void prepareValuesClause()
where句の準備をします。


toSql

protected java.lang.String toSql()
SQLに変換します。

定義:
クラス AbstractAutoBatchUpdate<T,AutoBatchInsert<T>> 内の toSql
戻り値:
SQL

createPreparedStatement

protected java.sql.PreparedStatement createPreparedStatement(JdbcContext jdbcContext)
クラス AbstractAutoBatchUpdate の記述:
準備されたステートメントを作成します。

オーバーライド:
クラス AbstractAutoBatchUpdate<T,AutoBatchInsert<T>> 内の createPreparedStatement
パラメータ:
jdbcContext - JDBCコンテキスト
戻り値:
準備されたステートメント

executeBatch

protected int[] executeBatch(java.sql.PreparedStatement ps)
クラス AbstractAutoBatchUpdate の記述:
バッチ更新を実行します。

オーバーライド:
クラス AbstractAutoBatchUpdate<T,AutoBatchInsert<T>> 内の executeBatch
パラメータ:
ps - 準備されたステートメント
戻り値:
更新された行数の配列

prepareParams

protected void prepareParams(T entity)
クラス AbstractAutoBatchUpdate の記述:
バインド変数を準備します.

定義:
クラス AbstractAutoBatchUpdate<T,AutoBatchInsert<T>> 内の prepareParams
パラメータ:
entity - エンティティ

getIdValue

protected java.lang.Object getIdValue(PropertyMeta propertyMeta,
                                      T entity)
バインドする識別子の値を返します。

パラメータ:
propertyMeta - プロパティメタデータ
entity - エンティティ
戻り値:
識別子の値

postExecute

protected void postExecute(java.sql.PreparedStatement ps,
                           T entity)
INSERT文を実行後処理を行います。

GenerationType.IDENTITY方式で識別子の値を自動生成するIDジェネレータが使われた場合は、 生成された値をエンティティに反映します

パラメータ:
ps - INSERT文を実行したStatement
entity - エンティティ

isOptimisticLock

protected boolean isOptimisticLock()
クラス AbstractAutoBatchUpdate の記述:
楽観的同時実行制御を行っている場合はtrueを返します。

定義:
クラス AbstractAutoBatchUpdate<T,AutoBatchInsert<T>> 内の isOptimisticLock
戻り値:
楽観的同時実行制御を行っている場合はtrue


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.