|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.batch.dao.support.BatchUpdateSupportImpl
public class BatchUpdateSupportImpl
バッチ更新サポートクラス
本クラスを利用すことでUpdateDAOのバッチ更新処理の実行をSqlID毎に整列された状態で行うことができる。
SqlIDでソートすることでJDBCのPreparedStatement#executeBatchの実行回数を減らせる事により性能に寄与する。
sortメソッドを実行せずにSQLを実行した場合は、初回に追加したSQL-IDの順が維持される。
※マルチスレッドセーフではないため複数スレッドで利用する場合は、各スレッドごとに別インスタンスを生成すること。
UpdateDAO
フィールドの概要 | |
---|---|
protected Map<String,Queue<jp.terasoluna.fw.dao.SqlHolder>> |
batchSqlsMap
バッチ実行SQLを保持する. |
protected Comparator<String> |
comparator
SqlIDをソートする時に使用するComparator |
protected AtomicLong |
count
バッチ実行SQL登録件数 |
protected boolean |
sortMode
ソートフラグ |
protected jp.terasoluna.fw.dao.UpdateDAO |
updateDAO
UpdateDAO |
インタフェース jp.terasoluna.fw.batch.dao.support.BatchUpdateSupport から継承されたフィールド |
---|
ERROR_UNKNOWN_SQL_ID, ERROR_UPDATE_DAO_IS_NULL |
コンストラクタの概要 | |
---|---|
BatchUpdateSupportImpl()
バッチ更新サポートクラスコンストラクタ. |
|
BatchUpdateSupportImpl(jp.terasoluna.fw.dao.UpdateDAO updateDAO)
バッチ更新サポートクラスコンストラクタ. |
|
BatchUpdateSupportImpl(jp.terasoluna.fw.dao.UpdateDAO updateDAO,
Comparator<String> comparator)
バッチ更新サポートクラスコンストラクタ. |
|
BatchUpdateSupportImpl(jp.terasoluna.fw.dao.UpdateDAO updateDAO,
String... sqlIdOrder)
バッチ更新サポートクラスコンストラクタ. |
メソッドの概要 | |
---|---|
void |
addBatch(String sqlID,
Object bindParams)
バッチ実行用SQLを追加する。 |
void |
clear()
バッチ実行SQLリストの内容を削除する。 |
int |
executeBatch()
バッチ実行を行う。 |
int |
executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO)
バッチ実行を行う。 |
int |
executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO,
Comparator<String> comparator)
バッチ実行を行う。 |
protected int |
executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO,
Comparator<String> comparator,
String[] sqlIdOrder)
バッチ実行を行う。 |
int |
executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO,
String... sqlIdOrder)
バッチ実行を行う。 |
List<jp.terasoluna.fw.dao.SqlHolder> |
getSqlHolderList()
SQL-IDで整列されたSqlHolderリストを取得する。 |
List<jp.terasoluna.fw.dao.SqlHolder> |
getSqlHolderList(Comparator<String> comparator)
SQL-IDで整列されたSqlHolderリストを取得する。 |
protected List<jp.terasoluna.fw.dao.SqlHolder> |
getSqlHolderList(Comparator<String> comparator,
String[] sqlIdOrder)
SQL-IDで整列されたSqlHolderリストを取得する。 |
List<jp.terasoluna.fw.dao.SqlHolder> |
getSqlHolderList(String... sqlIdOrder)
SQL-IDで整列されたSqlHolderリストを取得する。 |
long |
size()
バッチ実行SQLリストの登録件数を取得する。 |
void |
sort()
バッチ実行SQLリストのソートを行う。 |
void |
sort(Comparator<String> comparator)
バッチ実行SQLリストのソートを行う。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected jp.terasoluna.fw.dao.UpdateDAO updateDAO
protected volatile Comparator<String> comparator
protected final Map<String,Queue<jp.terasoluna.fw.dao.SqlHolder>> batchSqlsMap
protected volatile boolean sortMode
protected volatile AtomicLong count
コンストラクタの詳細 |
---|
public BatchUpdateSupportImpl()
public BatchUpdateSupportImpl(jp.terasoluna.fw.dao.UpdateDAO updateDAO)
updateDAO
- UpdateDAOpublic BatchUpdateSupportImpl(jp.terasoluna.fw.dao.UpdateDAO updateDAO, Comparator<String> comparator)
updateDAO
- UpdateDAOcomparator
- Comparator<String>public BatchUpdateSupportImpl(jp.terasoluna.fw.dao.UpdateDAO updateDAO, String... sqlIdOrder)
updateDAO
- UpdateDAOsqlIdOrder
- SQL-IDの実行順序を指定するメソッドの詳細 |
---|
public void addBatch(String sqlID, Object bindParams)
BatchUpdateSupport
の記述:
BatchUpdateSupport
内の addBatch
sqlID
- StringbindParams
- Objectpublic int executeBatch()
BatchUpdateSupport
の記述:バッチ実行が成功した場合は、保持しているバッチ実行SQLリストの削除を行う。
本メソッドで実行する場合は、コンストラクタ引数でUpdateDAOを渡しておくこと。
UpdateDAOがコンストラクタ引数で渡されていない場合は、-100が返却される。
BatchUpdateSupport
内の executeBatch
UpdateDAO
public int executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO)
BatchUpdateSupport
の記述:バッチ実行が成功した場合は、保持しているバッチ実行SQLリストの削除を行う。
本メソッドで実行する場合は、コンストラクタ引数で渡されたUpdateDAOは使用されない。
UpdateDAOがnullの場合は、-100が返却される。
BatchUpdateSupport
内の executeBatch
updateDAO
- UpdateDAO
UpdateDAO
public int executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO, Comparator<String> comparator)
BatchUpdateSupport
の記述:バッチ実行が成功した場合は、保持しているバッチ実行SQLリストの削除を行う。
本メソッドで実行する場合は、コンストラクタ引数で渡されたUpdateDAOは使用されない。
UpdateDAOがnullの場合は、-100が返却される。
Comparatorを渡すことによりSQL実行順序順序を制御できる。
※Comparatorを渡した場合は必ずソートが行われる。Comparatorの大小判断に基づき、昇順でソートが行われる。
BatchUpdateSupport
内の executeBatch
updateDAO
- UpdateDAOcomparator
- Comparator<String>
UpdateDAO
public int executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO, String... sqlIdOrder)
BatchUpdateSupport
の記述:バッチ実行が成功した場合は、保持しているバッチ実行SQLリストの削除を行う。
本メソッドで実行する場合は、コンストラクタ引数で渡されたUpdateDAOは使用されない。
UpdateDAOがnullの場合は、-100が返却される。
第二引数以降に実行するSQL-IDを順番に設定することによりSQL実行順序を制御できる。
sqlIdOrderにSQL-IDを指定した場合は、必ずその順番でSQLが実行される。
また、その際はsqlIdOrderに指定されていないSQL-IDが存在した場合は実行されずに-200が返却される。
BatchUpdateSupport
内の executeBatch
updateDAO
- UpdateDAOsqlIdOrder
- SQL-IDの実行順序を指定する
UpdateDAO
protected int executeBatch(jp.terasoluna.fw.dao.UpdateDAO updateDAO, Comparator<String> comparator, String[] sqlIdOrder)
updateDAO
- UpdateDAOcomparator
- Comparator<String>sqlIdOrder
- SQL-IDの実行順序を指定する
public void sort()
BatchUpdateSupport
の記述:
executeBatchやgetSqlHolderListを実行する前に本メソッドを実行することで、
SQLの実行順序をSQL-IDの昇順に並び替えることができる。
※本メソッド実行タイミングで実際に内部でソートが行われるかどうかは規定しない
BatchUpdateSupport
内の sort
public void sort(Comparator<String> comparator)
BatchUpdateSupport
の記述:
executeBatchやgetSqlHolderListを実行する前に本メソッドを実行することで、
SQLの実行順序をComparatorに従って並び替えることができる。
Comparatorを渡すことによりSQLの並び替え順序を制御できる。
(※Comparatorを渡した場合は必ずソートが行われる。Comparatorの大小判断に基づき、昇順でソートが行われる。)
※本メソッド実行タイミングで実際に内部でソートが行われるかどうかは規定しない
BatchUpdateSupport
内の sort
comparator
- Comparator<String>public void clear()
BatchUpdateSupport
の記述:保持しているバッチ実行SQLリストの削除を行う。
BatchUpdateSupport
内の clear
public long size()
BatchUpdateSupport
の記述:
BatchUpdateSupport
内の size
public List<jp.terasoluna.fw.dao.SqlHolder> getSqlHolderList()
BatchUpdateSupport
の記述:保持しているバッチ実行SQLリストをSQL-ID順に整列したリストを返却する。
※本メソッドを実行しても保持しているバッチ実行SQLリストは削除されない。
BatchUpdateSupport
内の getSqlHolderList
public List<jp.terasoluna.fw.dao.SqlHolder> getSqlHolderList(Comparator<String> comparator)
BatchUpdateSupport
の記述:保持しているバッチ実行SQLリストをSQL-ID順に整列したリストを返却する。
※本メソッドを実行しても保持しているバッチ実行SQLリストは削除されない。
Comparatorを渡すことによりSQLの並び替え順序を制御できる。
※Comparatorを渡した場合は必ずソートが行われる。Comparatorの大小判断に基づき、昇順でソートが行われる。
BatchUpdateSupport
内の getSqlHolderList
comparator
- Comparator<String>
public List<jp.terasoluna.fw.dao.SqlHolder> getSqlHolderList(String... sqlIdOrder)
BatchUpdateSupport
の記述:保持しているバッチ実行SQLリストをSQL-ID順に整列したリストを返却する。
※本メソッドを実行しても保持しているバッチ実行SQLリストは削除されない。
実行するSQL-IDを順番に設定することにより取得すSqlHolderリストの順序を制御できる。
sqlIdOrderにSQL-IDを指定した場合は、必ずその順番でSQLが並び替えられる。
また、その際はsqlIdOrderに指定されていないSQL-IDが存在した場合はnullが返却される。
BatchUpdateSupport
内の getSqlHolderList
sqlIdOrder
- SQL-IDの実行順序を指定する
protected List<jp.terasoluna.fw.dao.SqlHolder> getSqlHolderList(Comparator<String> comparator, String[] sqlIdOrder)
comparator
- Comparator<String>sqlIdOrder
- SQL-IDの実行順序を指定する
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |