public class BasicStatementFactory extends java.lang.Object implements StatementFactory
StatementFactory
の基本実装クラス。SqlStatement
実装クラスを生成する。BasicSqlPStatement
Constructor and Description |
---|
BasicStatementFactory() |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
buildAdditionalInfoForSqlID(java.lang.String sqlId,
java.lang.String sql)
付加情報文字列を組み立てる。
この情報は、ログ出力に使用されることを想定している。
|
protected SqlParameterParser |
createParser()
SqlParameterParser インスタンスを生成する。 |
ParameterizedSqlPStatement |
getParameterizedSqlPStatement(java.lang.String sql,
java.sql.Connection con,
DbExecutionContext context)
ParameterizedSqlPStatementを生成し返却する。
|
ParameterizedSqlPStatement |
getParameterizedSqlPStatement(java.lang.String sql,
java.sql.Connection con,
DbExecutionContext context,
SelectOption selectOption)
ParameterizedSqlPStatementを生成し返却する。
|
ParameterizedSqlPStatement |
getParameterizedSqlPStatementBySqlId(java.lang.String sqlId,
java.sql.Connection con,
DbExecutionContext context)
SQL_IDから
ParameterizedSqlPStatement を生成し返却する。 |
ParameterizedSqlPStatement |
getParameterizedSqlPStatementBySqlId(java.lang.String sql,
java.lang.String sqlId,
java.sql.Connection con,
DbExecutionContext context)
SQL_IDから
ParameterizedSqlPStatement を生成し返却する(可変条件を持つSQL用)。 |
ParameterizedSqlPStatement |
getParameterizedSqlPStatementBySqlId(java.lang.String sql,
java.lang.String sqlId,
java.sql.Connection con,
DbExecutionContext context,
SelectOption selectOption)
SQL_IDから
ParameterizedSqlPStatement を生成し返却する(可変条件を持つSQL用)。 |
protected java.lang.String |
getSql(java.lang.String sqlResource)
指定されたSQLリソースに対応するSQL文を取得する。
|
SqlCStatement |
getSqlCStatement(java.lang.String sql,
java.sql.Connection con,
DbExecutionContext context)
SqlCStatement を生成し返却する。 |
SqlCStatement |
getSqlCStatementBySqlId(java.lang.String sqlId,
java.sql.Connection con,
DbExecutionContext context)
SqlCStatement を生成し返却する。 |
SqlPStatement |
getSqlPStatement(java.lang.String sql,
java.sql.Connection con,
DbExecutionContext context)
SqlPStatement を生成し返却する。 |
SqlPStatement |
getSqlPStatement(java.lang.String sql,
java.sql.Connection con,
DbExecutionContext context,
SelectOption option)
SqlPStatement を生成し返却する。 |
SqlPStatement |
getSqlPStatement(java.lang.String sql,
java.sql.Connection con,
int[] columnIndexes,
DbExecutionContext context)
自動生成キーの取得機能を持つ
SqlPStatement を生成し返却する。 |
SqlPStatement |
getSqlPStatement(java.lang.String sql,
java.sql.Connection con,
int autoGeneratedKeys,
DbExecutionContext context)
自動生成キーの取得機能を持つ
SqlPStatement を生成し返却する。 |
SqlPStatement |
getSqlPStatement(java.lang.String sql,
java.sql.Connection con,
java.lang.String[] columnNames,
DbExecutionContext context)
自動生成キーの取得機能を持つ
SqlPStatement を生成し返却する。 |
SqlPStatement |
getSqlPStatementBySqlId(java.lang.String sqlId,
java.sql.Connection con,
DbExecutionContext context)
SQL_IDから
SqlPStatement を生成し返却する。 |
java.lang.String |
getVariableConditionSql(java.lang.String sql,
java.lang.Object condition)
可変条件を持つSQL文の可変部分を構築する。
|
java.lang.String |
getVariableConditionSqlBySqlId(java.lang.String sqlId,
java.lang.Object condition)
可変条件を持つSQL文の可変部分を構築する。
|
protected void |
setCommonPropsTo(BasicSqlPStatement sqlp,
DbExecutionContext context)
指定された
BasicSqlPStatement に対して、
実行に必要となる共通のプロパティを設定する。 |
void |
setFetchSize(java.lang.String fetchSize)
フェッチサイズを設定する。
|
protected void |
setLikeConditionPropsTo(BasicSqlPStatement sqlp)
指定された
BasicSqlPStatement に対して、
LIKE条件必要なプロパティを設定する。 |
void |
setLikeEscapeChar(java.lang.String likeEscapeChar)
like条件のエスケープ文字を設定する。
|
void |
setLikeEscapeTargetCharList(java.lang.String likeEscapeTargetCharList)
like条件のエスケープ対象の文字リスト(カンマ区切りの文字列)を設定する。
|
void |
setObjectFieldCache(StaticDataCache<java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>> objectFieldCache)
フィールド情報保持インスタンスを設定する。
|
protected void |
setObjectFieldPropsTo(BasicSqlPStatement sqlp)
指定された
BasicSqlPStatement に対して、
オブジェクトのフィールドの値を扱う場合に必要なプロパティを設定する。 |
void |
setQueryTimeout(int queryTimeout)
デフォルトのクエリータイムアウト時間(単位:秒)を設定する。
|
void |
setSqlLoader(StaticDataLoader<java.util.Map<java.lang.String,java.lang.String>> sqlLoader)
SQL文をロードするクラスを設定する。
|
void |
setSqlParameterParserFactory(SqlParameterParserFactory sqlParameterParserFactory)
名前付きバインド変数をもつSQLの解析クラスを設定する。
|
void |
setSqlStatementExceptionFactory(SqlStatementExceptionFactory sqlStatementExceptionFactory)
SqlStatementExceptionFactoryを設定する。
|
void |
setUpdatePreHookObjectHandlerList(java.util.List<AutoPropertyHandler> updatePreHookObjectHandlerList)
オブジェクトのフィールドへの値自動設定用ハンドラーを設定する。
オブジェクトのフィールドの値をバインド変数に設定する事前処理として、 このハンドラーを使用してフィールドに値の自動設定を行う。 |
public SqlPStatement getSqlPStatement(java.lang.String sql, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
SqlPStatement
を生成し返却する。getSqlPStatement
in interface StatementFactory
sql
- SQL文con
- Connectionオブジェクトcontext
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public SqlPStatement getSqlPStatement(java.lang.String sql, java.sql.Connection con, DbExecutionContext context, SelectOption option) throws java.sql.SQLException
SqlPStatement
を生成し返却する。getSqlPStatement
in interface StatementFactory
sql
- SQL文con
- Connectionオブジェクトcontext
- DB実行時のコンテキストoption
- 検索処理条件java.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public SqlPStatement getSqlPStatement(java.lang.String sql, java.sql.Connection con, int autoGeneratedKeys, DbExecutionContext context) throws java.sql.SQLException
SqlPStatement
を生成し返却する。getSqlPStatement
in interface StatementFactory
sql
- SQL文con
- ConnectionオブジェクトautoGeneratedKeys
- 自動生成キーを返すかどうかを示すフラグ。Statement.RETURN_GENERATED_KEYS
または Statement.NO_GENERATED_KEYS
context
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public SqlPStatement getSqlPStatement(java.lang.String sql, java.sql.Connection con, int[] columnIndexes, DbExecutionContext context) throws java.sql.SQLException
SqlPStatement
を生成し返却する。getSqlPStatement
in interface StatementFactory
sql
- SQL文con
- ConnectionオブジェクトcolumnIndexes
- 挿入された行から返される列を示す列インデックスの配列context
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public SqlPStatement getSqlPStatement(java.lang.String sql, java.sql.Connection con, java.lang.String[] columnNames, DbExecutionContext context) throws java.sql.SQLException
StatementFactory
SqlPStatement
を生成し返却する。getSqlPStatement
in interface StatementFactory
sql
- SQL文con
- ConnectionオブジェクトcolumnNames
- 挿入された行から返される列を示す列名の配列context
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合protected final void setCommonPropsTo(BasicSqlPStatement sqlp, DbExecutionContext context)
BasicSqlPStatement
に対して、
実行に必要となる共通のプロパティを設定する。sqlp
- 設定対象となるインスタンス。context
- DBアクセス時の実行時のコンテキストpublic SqlPStatement getSqlPStatementBySqlId(java.lang.String sqlId, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
SqlPStatement
を生成し返却する。getSqlPStatementBySqlId
in interface StatementFactory
sqlId
- 下記形式のSQL_ID
con
- Connectionオブジェクトcontext
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合BasicSqlLoader
public ParameterizedSqlPStatement getParameterizedSqlPStatement(java.lang.String sql, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
getParameterizedSqlPStatement
in interface StatementFactory
sql
- SQL文con
- Connectionオブジェクトcontext
- DBアクセス時の実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合、データベースアクセスエラーが発生した場合public ParameterizedSqlPStatement getParameterizedSqlPStatement(java.lang.String sql, java.sql.Connection con, DbExecutionContext context, SelectOption selectOption) throws java.sql.SQLException
getParameterizedSqlPStatement
in interface StatementFactory
sql
- SQL文con
- Connectionオブジェクトcontext
- DBアクセス時の実行時のコンテキストselectOption
- 検索処理条件java.sql.SQLException
- SQL文が不正な場合、データベースアクセスエラーが発生した場合public ParameterizedSqlPStatement getParameterizedSqlPStatementBySqlId(java.lang.String sqlId, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
ParameterizedSqlPStatement
を生成し返却する。getParameterizedSqlPStatementBySqlId
in interface StatementFactory
sqlId
- 下記形式のSQL_ID
con
- Connectionオブジェクトcontext
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public ParameterizedSqlPStatement getParameterizedSqlPStatementBySqlId(java.lang.String sql, java.lang.String sqlId, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
ParameterizedSqlPStatement
を生成し返却する(可変条件を持つSQL用)。getParameterizedSqlPStatementBySqlId
in interface StatementFactory
sql
- SQL文(可変条件構築後のSQL文)sqlId
- SQL_IDcon
- Connectionオブジェクトcontext
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public ParameterizedSqlPStatement getParameterizedSqlPStatementBySqlId(java.lang.String sql, java.lang.String sqlId, java.sql.Connection con, DbExecutionContext context, SelectOption selectOption) throws java.sql.SQLException
ParameterizedSqlPStatement
を生成し返却する(可変条件を持つSQL用)。getParameterizedSqlPStatementBySqlId
in interface StatementFactory
sql
- SQL文(可変条件構築後のSQL文)sqlId
- SQL_IDcon
- Connectionオブジェクトcontext
- DB実行時のコンテキストselectOption
- 検索処理オプションjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合protected final java.lang.String buildAdditionalInfoForSqlID(java.lang.String sqlId, java.lang.String sql)
sqlId
- SQL IDsql
- SQL文BasicSqlPStatement.setAdditionalInfo(String)
protected final void setLikeConditionPropsTo(BasicSqlPStatement sqlp)
BasicSqlPStatement
に対して、
LIKE条件必要なプロパティを設定する。sqlp
- 設定対象となるインスタンスprotected final void setObjectFieldPropsTo(BasicSqlPStatement sqlp)
BasicSqlPStatement
に対して、
オブジェクトのフィールドの値を扱う場合に必要なプロパティを設定する。sqlp
- 設定対象となるインスタンスprotected final SqlParameterParser createParser()
SqlParameterParser
インスタンスを生成する。SqlParameterParser
インスタンスpublic java.lang.String getVariableConditionSql(java.lang.String sql, java.lang.Object condition)
getVariableConditionSql
in interface StatementFactory
sql
- SQL文condition
- 条件をフィールドに持つオブジェクトpublic java.lang.String getVariableConditionSqlBySqlId(java.lang.String sqlId, java.lang.Object condition)
getVariableConditionSqlBySqlId
in interface StatementFactory
sqlId
- 下記形式のSQL_ID
condition
- 条件をフィールドに持つオブジェクトpublic SqlCStatement getSqlCStatement(java.lang.String sql, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
StatementFactory
SqlCStatement
を生成し返却する。getSqlCStatement
in interface StatementFactory
sql
- SQL文con
- Connectionオブジェクトcontext
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public SqlCStatement getSqlCStatementBySqlId(java.lang.String sqlId, java.sql.Connection con, DbExecutionContext context) throws java.sql.SQLException
StatementFactory
SqlCStatement
を生成し返却する。getSqlCStatementBySqlId
in interface StatementFactory
sqlId
- SQL_IDcon
- Connectionオブジェクトcontext
- DB実行時のコンテキストjava.sql.SQLException
- SQL文が不正な場合や、データベースアクセスエラーが発生した場合public void setSqlStatementExceptionFactory(SqlStatementExceptionFactory sqlStatementExceptionFactory)
sqlStatementExceptionFactory
- SqlStatementExceptionFactorypublic void setFetchSize(java.lang.String fetchSize)
fetchSize
- フェッチサイズpublic void setQueryTimeout(int queryTimeout)
queryTimeout
- デフォルトのクエリータイムアウト時間(単位:秒)Statement.setQueryTimeout(int)
public void setUpdatePreHookObjectHandlerList(java.util.List<AutoPropertyHandler> updatePreHookObjectHandlerList)
updatePreHookObjectHandlerList
- オブジェクトハンドラーpublic void setSqlParameterParserFactory(SqlParameterParserFactory sqlParameterParserFactory)
sqlParameterParserFactory
- 名前付きバインド変数SQLの解析クラスpublic void setLikeEscapeTargetCharList(java.lang.String likeEscapeTargetCharList)
likeEscapeTargetCharList
- エスケープ文字のリスト(カンマ区切り)public void setLikeEscapeChar(java.lang.String likeEscapeChar)
likeEscapeChar
- エスケープ文字public void setSqlLoader(StaticDataLoader<java.util.Map<java.lang.String,java.lang.String>> sqlLoader)
sqlLoader
- SQL文をロードするクラスprotected java.lang.String getSql(java.lang.String sqlResource)
sqlResource
- SQLリソース(SQLリソース名 + "#" + SQL_ID)@IgnoreProperty(value="\u30d5\u30a3\u30fc\u30eb\u30c9\u3067\u306f\u306a\u304f\u30d7\u30ed\u30d1\u30c6\u30a3\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3088\u3046\u4ed5\u69d8\u5909\u66f4\u3092\u884c\u3063\u305f\u305f\u3081\u672c\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u5ec3\u6b62\u3057\u307e\u3057\u305f\u3002(\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u3082\u610f\u5473\u304c\u3042\u308a\u307e\u305b\u3093)") public void setObjectFieldCache(StaticDataCache<java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Object>>> objectFieldCache)
objectFieldCache
- オブジェクトのフィールド情報保持インスタンス