|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.littlesoft.sql.SQLAdaptor
jp.littlesoft.sql.SQLDataResolverImpl
public class SQLDataResolverImpl
Tableオブジェクトの内容をSQLデータベースへ書き戻すクラス。
入れ子のクラスの概要 | |
---|---|
static class |
SQLDataResolverImpl.OptimisticLockType
楽観的ロックの種別を管理するクラス。 |
クラス jp.littlesoft.sql.SQLAdaptor から継承された入れ子のクラス/インタフェース |
---|
SQLAdaptor.SQLServerType, SQLAdaptor.TransactionIsolationType |
フィールドの概要 |
---|
クラス jp.littlesoft.sql.SQLAdaptor から継承されたフィールド |
---|
getPrimaryKeyAvailable, jdbcConnection, logger, queryTimeout |
コンストラクタの概要 | |
---|---|
SQLDataResolverImpl()
コンストラクタ。 |
メソッドの概要 | ||
---|---|---|
void |
addResolvingListener(ResolvingListener l)
ResolvingListenerを登録します。 |
|
void |
execute(Table<?> table)
テーブルオブジェクトの変更内容をもとにデータベーステーブルの更新・追加・削除を行います。 |
|
void |
execute(Table<?> table,
boolean pendingCommit)
テーブルオブジェクトの変更内容をもとにデータベーステーブルの更新・追加・削除を行います。 |
|
|
execute(Table<E> table,
boolean pendingCommit,
ResolvingEvent.Type resolveType)
テーブルオブジェクトの変更内容をもとにデータベーステーブルの更新・追加・削除を行います。 |
|
String[] |
getKeyColumns()
データベース更新対象行を識別するカラム名配列をを取得します。 |
|
SQLDataResolverImpl.OptimisticLockType |
getOptimisticLockType()
楽観的排他制御の種別を取得します。 |
|
String |
getSQLDelete()
削除処理で使用するDELETE文を取得します。 |
|
String |
getSQLInsert()
挿入処理で使用するINSERT文を取得します。 |
|
String |
getSQLUpdate()
更新処理で使用するUPDATE文を取得します。 |
|
String |
getTargetDBCatalog()
更新対象データベーステーブルが存在するカタログ名を取得します。 |
|
String |
getTargetDBSchema()
更新対象データベーステーブルが存在するスキーマ名を取得します。 |
|
String |
getTargetDBTable()
更新対象とするデータベーステーブル名を取得します。 |
|
protected IndexedMap<String,Column> |
getUpdateTableColumns(DatabaseMetaData metaData,
String catalog,
String schema,
String tableName,
boolean isSearchMetaDataWithinSchema,
boolean isSearchMetaDataByUpperCase,
boolean isSearchMetaDataByLowerCase)
更新テーブルのColumnsを作成します。 |
|
boolean |
isColNameRequireDblQuote()
INSERT/DELETE/UPDATE時にテーブル名,カラム名をダブルクォーテーションで囲むかどうかを調べます。 |
|
boolean |
isPendingCommit()
executeメソッド内でのコミットを保留するかどうか調べます。 |
|
void |
removeResolvingListener(ResolvingListener l)
ResolvingListenerを削除します。 |
|
void |
setColNameRequireDblQuote(boolean flag)
INSERT/DELETE/UPDATE時にテーブル名,カラム名をダブルクォーテーションで囲むかの設定を行ういます。 |
|
void |
setKeyColumns(String[] keyColumns)
データベース更新対象行を識別するカラム名配列を設定します。 |
|
void |
setOptimisticLockType(SQLDataResolverImpl.OptimisticLockType newOptimisticLockType)
楽観的排他制御の種別を設定します。 |
|
void |
setPendingCommit(boolean pendingCommit)
executeメソッド内でのコミットを保留するかどうかを設定します。 |
|
void |
setSQLDelete(String sqlDelete)
削除処理で使用するDELETE文を設定します。 |
|
void |
setSQLInsert(String sqlInsert)
挿入処理で使用するINSERT文を設定します。 |
|
void |
setSQLUpdate(String sqlUpdate)
更新処理で使用するUPDATE文を設定します。 |
|
void |
setTargetDBCatalog(String targetDBCatalog)
更新対象データベーステーブルが存在するカタログ名を設定します。 |
|
void |
setTargetDBSchema(String targetDBSchema)
更新対象データベーステーブルが存在するスキーマ名を設定します。 |
|
void |
setTargetDBTable(String targetDBTable)
更新対象とするデータベーステーブル名を設定します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース jp.littlesoft.sql.ISQLDataResolver から継承されたメソッド |
---|
close, getConnection, setConnection |
コンストラクタの詳細 |
---|
public SQLDataResolverImpl()
メソッドの詳細 |
---|
public void setKeyColumns(String[] keyColumns) throws DataException
ISQLDataResolver
内の setKeyColumns
keyColumns
- カラム名配列
jp.littlesoft.data.DataException
- 例外発生時
DataException
public String[] getKeyColumns()
ISQLDataResolver
内の getKeyColumns
jp.littlesoft.data.DataException
- 例外発生時public void setTargetDBTable(String targetDBTable) throws DataException
ISQLDataResolver
内の setTargetDBTable
targetDBTable
- 更新テーブル名
DataException
- 例外発生時public String getTargetDBTable()
ISQLDataResolver
内の getTargetDBTable
public void setTargetDBSchema(String targetDBSchema) throws DataException
ISQLDataResolver
内の setTargetDBSchema
targetDBSchema
- スキーマ名
DataException
- 例外発生時public String getTargetDBSchema()
ISQLDataResolver
内の getTargetDBSchema
public void setTargetDBCatalog(String targetDBCatalog) throws DataException
ISQLDataResolver
内の setTargetDBCatalog
targetDBCatalog
- 更新テーブルカタログ名
DataException
public String getTargetDBCatalog()
ISQLDataResolver
内の getTargetDBCatalog
public void setSQLInsert(String sqlInsert)
例: setSQLInsert( "INSERT INTO TBL_X VALUES(:COL_A, :COL_B, CURRENT_TIMESTAMP)");:COL_A, :COL_Bには、テーブルオブジェクト内の挿入対象行オブジェクトの"COL_A","COL_B"のカラム値が割り当てられます。
ISQLDataResolver
内の setSQLInsert
sqlInsert
- INSERT文public String getSQLInsert()
ISQLDataResolver
内の getSQLInsert
public void setSQLUpdate(String sqlUpdate)
例: setSQLUpdate( "UPDATE TBL_X" + " SET COL_A = FUNC(:COL_A), UPDT_TIMESTAMP = CURRENT_TIMESTAMP" + " WHERE UPDT_TIMESTAMP = :@OLD@_UPDT_TIMESTAMP" + " AND ROWIDTOCHAR(ROWID) = :@OLD@_ROWIDCHAR" );:COL_Aには、テーブルオブジェクト内の更新対象行オブジェクトの"COL_A"のフィールド値が割り当てられます。
ISQLDataResolver
内の setSQLUpdate
sqlUpdate
- UPDATE文public String getSQLUpdate()
ISQLDataResolver
内の getSQLUpdate
public void setSQLDelete(String sqlDelete)
例: setSQLDelete( "DELETE FROM TBL_X" + " WHERE UPDT_TIMESTAMP = :@OLD@_UPDT_TIMESTAMP" + " AND ROWIDTOCHAR(ROWID) = :@OLD@_ROWIDCHAR" );WHERE句のパラメータ名が":@OLD@_"で開始されている点に注意してください。
ISQLDataResolver
内の setSQLDelete
sqlDelete
- DELETE文public String getSQLDelete()
ISQLDataResolver
内の getSQLDelete
public void execute(Table<?> table) throws DataException
DataResolver
内の execute
table
- テーブルオブジェクト
jp.littlesoft.exception.data.DataException
- 例外発生時
DataException
- 例外発生時public void execute(Table<?> table, boolean pendingCommit) throws DataException
table
- テーブルオブジェクトpendingCommit
- True:このメソッド内でコミットを行わない、False:行う
jp.littlesoft.exception.data.DataException
- 例外発生時
DataException
public <E extends Serializable> void execute(Table<E> table, boolean pendingCommit, ResolvingEvent.Type resolveType) throws DataException
table
- テーブルオブジェクトpendingCommit
- True:このメソッド内でコミットを行わない、False:行うresolveType
- テーブルオブジェクトデータ永続化の種類
DataException
- 例外発生時ResolvingEvent.Type
protected IndexedMap<String,Column> getUpdateTableColumns(DatabaseMetaData metaData, String catalog, String schema, String tableName, boolean isSearchMetaDataWithinSchema, boolean isSearchMetaDataByUpperCase, boolean isSearchMetaDataByLowerCase) throws SQLException, DataException
metaData
- メタデータcatalog
- カタログ名schema
- スキーマ名tableName
- テーブル名isSearchMetaDataWithinSchema
- True:スキーマ名指定で検索するisSearchMetaDataByUpperCase
- True:テーブル名を大文字限定で検索するisSearchMetaDataByLowerCase
- True:テーブル名を小文字限定で検索する
SQLException
- SQL例外発生時
jp.littlesoft.data.DataException
- 例外発生時
DataException
public void setColNameRequireDblQuote(boolean flag)
flag
- True:ダブルクォーテーションで囲む、False:囲まないpublic boolean isColNameRequireDblQuote()
public void setOptimisticLockType(SQLDataResolverImpl.OptimisticLockType newOptimisticLockType)
newOptimisticLockType
- 楽観的排他制御の種別SQLDataResolverImpl.OptimisticLockType
public SQLDataResolverImpl.OptimisticLockType getOptimisticLockType()
SQLDataResolverImpl.OptimisticLockType
public void removeResolvingListener(ResolvingListener l)
DataResolver
内の removeResolvingListener
l
- ResolvingListenerインターフェースを実装したオブジェクトResolvingListener
public void addResolvingListener(ResolvingListener l)
DataResolver
内の addResolvingListener
l
- ResolvingListenerインターフェースを実装したオブジェクトResolvingListener
public boolean isPendingCommit()
public void setPendingCommit(boolean pendingCommit)
ISQLDataResolver
内の setPendingCommit
pendingCommit
- True:コミットを保留する、False:保留しない
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |