public class BasicDbConnection extends java.lang.Object implements TransactionManagerConnection
TransactionManagerConnection
の基本実装クラス。
本オブジェクトは、マルチスレッド環境で使用されることは想定しない。すなわち、スレッドアンセーフなオブジェクトである。Connection
Constructor and Description |
---|
BasicDbConnection(java.sql.Connection con)
指定されたデータ接続を保持するオブジェクトを生成する。
|
Modifier and Type | Method and Description |
---|---|
protected void |
closeConnection()
コネクションをクローズする。
Connection.close() を呼び出す。 |
void |
closeStatements()
ステートメントをクローズする。
本データベースオブジェクトから生成されたステートメントオブジェクトを一括でクローズする。 |
void |
commit()
現在のデータベース接続に対してcommitを実行する。
|
java.sql.Connection |
getConnection()
データベース接続オブジェクトを取得する。
|
Dialect |
getDialect()
コネクションの
DefaultDialect を取得する。 |
void |
initialize()
データベース接続の初期化処理を行う。
|
SqlCStatement |
prepareCall(java.lang.String sql)
ストアドプロシージャ実行用のStatementオブジェクトを生成する。
|
SqlCStatement |
prepareCallBySqlId(java.lang.String sqlId)
ストアドプロシージャ実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
SqlPStatement |
prepareCountStatementBySqlId(java.lang.String sqlId)
SQL_IDを元に件数取得(カウント)用のStatementオブジェクトを生成する。
SQL文を件数取得(カウント)用に変換すること以外は、
AppDbConnection.prepareStatementBySqlId(String) と同じ処理を行う。 |
ParameterizedSqlPStatement |
prepareParameterizedCountSqlStatementBySqlId(java.lang.String sqlId,
java.lang.Object condition)
SQL_IDを元に件数取得(カウント)用のStatementオブジェクトを生成する。
SQL文を件数取得(カウント)用に変換すること以外は、
AppDbConnection.prepareParameterizedSqlStatementBySqlId(String, Object) と同じ処理を行う。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql)
名前付きパラメータをもつSQL文実行用のStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql,
java.lang.Object condition)
名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql,
java.lang.Object condition,
SelectOption selectOption)
検索範囲を指定して、名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object) のような、検索範囲を指定した簡易検索処理は実行できない。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql,
SelectOption selectOption)
検索範囲を指定した名前付きパラメータをもつSQL文実行用のStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object) のような、検索範囲を指定した簡易検索処理は実行できない。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId)
名前付きパラメータをもつSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId,
java.lang.Object condition)
名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId,
java.lang.Object condition,
SelectOption selectOption)
検索範囲を設定した名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object) のような、検索範囲を指定した簡易検索処理は実行できない。 |
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId,
SelectOption selectOption)
検索範囲を設定した名前付きパラメータをもつSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object) のような、検索範囲を指定した簡易検索処理は実行できない。 |
SqlPStatement |
prepareStatement(java.lang.String sql)
パラメータ付きSQL文実行用のStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。 |
SqlPStatement |
prepareStatement(java.lang.String sql,
int autoGeneratedKeys)
自動生成キー(データベース側で自動生成された値)を取得する機能を持つStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys() を使用して取得する必要がある。 |
SqlPStatement |
prepareStatement(java.lang.String sql,
int[] columnIndexes)
自動生成キー(データベース側で自動生成された値)を取得する機能を持つStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys() を使用して取得する必要がある。 |
SqlPStatement |
prepareStatement(java.lang.String sql,
SelectOption selectOption)
検索範囲を指定したパラメータ付きSQL文実行用のStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるSqlPStatement は、あらかじめ検索範囲が設定されているため、
SqlPStatement.retrieve(int, int) のような、検索範囲を指定した簡易検索処理は実行できない。SqlPStatement.retrieve() を使用すること。 |
SqlPStatement |
prepareStatement(java.lang.String sql,
java.lang.String[] columnNames)
自動生成キー(データベース側で自動生成された値)を取得する機能を持つStatementオブジェクトを生成する。
Statementオブジェクトは、
TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys() を使用して取得する必要がある。 |
SqlPStatement |
prepareStatementBySqlId(java.lang.String sqlId)
パラメータ付きSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
指定されたSQL_IDに紐づくSQL文を取得し、Statementオブジェクトを生成する。
Statementオブジェクトは、 TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。 |
SqlPStatement |
prepareStatementBySqlId(java.lang.String sqlId,
SelectOption selectOption)
検索範囲を指定したパラメータ付きSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
指定されたSQL_IDに紐づくSQL文を取得し、Statementオブジェクトを生成する。
Statementオブジェクトは、 TransactionManagerConnection.terminate() メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるSqlPStatement は、あらかじめ検索範囲が設定されているため、
SqlPStatement.retrieve(int, int) のような、検索範囲を指定した簡易検索処理は実行できない。SqlPStatement.retrieve() を使用すること。 |
void |
removeStatement(SqlStatement statement)
保持しているStatementを削除する。
|
void |
rollback()
現在のデータベース接続に対してrollbackを実行する。
|
void |
setContext(DbExecutionContext context)
コンテキストを設定する。
|
void |
setDbAccessExceptionFactory(DbAccessExceptionFactory dbAccessExceptionFactory)
DbAccessException ファクトリオブジェクトを設定する。 |
void |
setFactory(StatementFactory factory)
StatementFactory 実装クラスを設定する。 |
void |
setIsolationLevel(int level)
アイソレーションレベルを設定する。
|
void |
setJdbcTransactionTimeoutHandler(JdbcTransactionTimeoutHandler jdbcTransactionTimeoutHandler)
トランザクションタイムアウトハンドラを設定する。
|
void |
setStatementReuse(boolean statementReuse)
ステートメントのキャッシュ有無を設定する。
|
void |
terminate()
データベース接続の終了処理を行う。
本処理では、下記処理を行う。 ロールバック処理(未確定のトランザクション情報は全て破棄する。) 本クラスで生成された SqlStatement のクローズ処理
ステートメントキャッシュが有効な場合のキャッシュのクリア処理
closeConnection() の呼び出し
|
public BasicDbConnection(java.sql.Connection con)
con
- データベース接続オブジェクトpublic void initialize()
下記処理を行う。
initialize
in interface TransactionManagerConnection
public void commit()
commit
in interface TransactionManagerConnection
Connection.commit()
public void rollback()
rollback
in interface TransactionManagerConnection
public void terminate()
SqlStatement
のクローズ処理closeConnection()
の呼び出しterminate
in interface TransactionManagerConnection
Statement.close()
protected void closeConnection() throws java.sql.SQLException
Connection.close()
を呼び出す。java.sql.SQLException
- SQL例外public void setIsolationLevel(int level)
setIsolationLevel
in interface TransactionManagerConnection
level
- アイソレーションレベル(Connection
で定義されている次の定数のうち1つを設定する。)
Connection.TRANSACTION_NONE
Connection.TRANSACTION_READ_COMMITTED
Connection.TRANSACTION_READ_UNCOMMITTED
Connection.TRANSACTION_REPEATABLE_READ
Connection.TRANSACTION_SERIALIZABLE
Connection
public SqlPStatement prepareStatement(java.lang.String sql)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。prepareStatement
in interface AppDbConnection
sql
- SQL文PreparedStatement
のラッパーstatementConnection.prepareStatement(String)
public SqlPStatement prepareStatement(java.lang.String sql, SelectOption selectOption)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるSqlPStatement
は、あらかじめ検索範囲が設定されているため、
SqlPStatement.retrieve(int, int)
のような、検索範囲を指定した簡易検索処理は実行できない。SqlPStatement.retrieve()
を使用すること。prepareStatement
in interface AppDbConnection
sql
- SQL文selectOption
- 検索処理オプションPreparedStatement
のラッパーstatementConnection.prepareStatement(String)
public SqlPStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()
を使用して取得する必要がある。prepareStatement
in interface AppDbConnection
sql
- SQL文autoGeneratedKeys
- 自動生成キーを返すかどうかを示すフラグ。Statement.RETURN_GENERATED_KEYS
または Statement.NO_GENERATED_KEYS
PreparedStatement
のラッパーStatementConnection.prepareStatement(String, int)
public SqlPStatement prepareStatement(java.lang.String sql, int[] columnIndexes)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()
を使用して取得する必要がある。prepareStatement
in interface AppDbConnection
sql
- SQL文columnIndexes
- 挿入された行から返される列を示す列インデックスの配列PreparedStatement
のラッパーStatementConnection.prepareStatement(String, int[])
public SqlPStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()
を使用して取得する必要がある。prepareStatement
in interface AppDbConnection
sql
- SQL文columnNames
- 挿入された行から返される列を示す列名の配列PreparedStatement
のラッパーStatementConnection.prepareStatement(String, String[])
public SqlPStatement prepareStatementBySqlId(java.lang.String sqlId)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。prepareStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDPreparedStatement
のラッパーStatementConnection.prepareStatement(String)
public SqlPStatement prepareStatementBySqlId(java.lang.String sqlId, SelectOption selectOption)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるSqlPStatement
は、あらかじめ検索範囲が設定されているため、
SqlPStatement.retrieve(int, int)
のような、検索範囲を指定した簡易検索処理は実行できない。SqlPStatement.retrieve()
を使用すること。prepareStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDselectOption
- 検索処理オプションPreparedStatement
のラッパーstatementConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。prepareParameterizedSqlStatement
in interface AppDbConnection
sql
- SQL文Connection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql, SelectOption selectOption)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object)
のような、検索範囲を指定した簡易検索処理は実行できない。prepareParameterizedSqlStatement
in interface AppDbConnection
sql
- SQL文selectOption
- 検索処理オプションConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。prepareParameterizedSqlStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId, SelectOption selectOption)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object)
のような、検索範囲を指定した簡易検索処理は実行できない。prepareParameterizedSqlStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDselectOption
- 検索処理オプションConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql, java.lang.Object condition)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。prepareParameterizedSqlStatement
in interface AppDbConnection
sql
- SQL文condition
- 可変条件に設定される条件をもつオブジェクトConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql, java.lang.Object condition, SelectOption selectOption)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object)
のような、検索範囲を指定した簡易検索処理は実行できない。prepareParameterizedSqlStatement
in interface AppDbConnection
sql
- SQL文condition
- 可変条件に設定される条件をもつオブジェクトselectOption
- 検索処理オプションConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId, java.lang.Object condition)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。prepareParameterizedSqlStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDcondition
- 可変条件に設定される条件をもつオブジェクトConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId, java.lang.Object condition, SelectOption selectOption)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、あらかじめ検索範囲が設定されているため、
ParameterizedSqlPStatement.retrieve(int, int, Object)
のような、検索範囲を指定した簡易検索処理は実行できない。prepareParameterizedSqlStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDcondition
- 可変条件に設定される条件をもつオブジェクトselectOption
- 検索処理オプションConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedCountSqlStatementBySqlId(java.lang.String sqlId, java.lang.Object condition)
AppDbConnection.prepareParameterizedSqlStatementBySqlId(String, Object)
と同じ処理を行う。
件数取得用のSQLへの変換は、Dialect.convertCountSql(String)
で行う。prepareParameterizedCountSqlStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDcondition
- 可変条件に設定される条件をもつオブジェクトConnection.prepareStatement(String)
public SqlPStatement prepareCountStatementBySqlId(java.lang.String sqlId)
AppDbConnection.prepareStatementBySqlId(String)
と同じ処理を行う。
件数取得用のSQLへの変換は、Dialect.convertCountSql(String)
で行う。prepareCountStatementBySqlId
in interface AppDbConnection
sqlId
- SQL_IDConnection.prepareStatement(String)
public SqlCStatement prepareCall(java.lang.String sql)
AppDbConnection
prepareCall
in interface AppDbConnection
sql
- SQL文Connection.prepareCall(String)
public SqlCStatement prepareCallBySqlId(java.lang.String sqlId)
AppDbConnection
prepareCallBySqlId
in interface AppDbConnection
sqlId
- SQL_IDConnection.prepareCall(String)
public void closeStatements()
public void setFactory(StatementFactory factory)
StatementFactory
実装クラスを設定する。factory
- StatementFactory
実装クラスpublic void setStatementReuse(boolean statementReuse)
statementReuse
- ステートメントのキャッシュ有無public void setDbAccessExceptionFactory(DbAccessExceptionFactory dbAccessExceptionFactory)
DbAccessException
ファクトリオブジェクトを設定する。dbAccessExceptionFactory
- DbAccessException
ファクトリオブジェクトpublic void setJdbcTransactionTimeoutHandler(JdbcTransactionTimeoutHandler jdbcTransactionTimeoutHandler)
setJdbcTransactionTimeoutHandler
in interface TransactionManagerConnection
jdbcTransactionTimeoutHandler
- トランザクションタイムアウトハンドラpublic java.sql.Connection getConnection()
getConnection
in interface TransactionManagerConnection
public Dialect getDialect()
TransactionManagerConnection
DefaultDialect
を取得する。getDialect
in interface TransactionManagerConnection
public void setContext(DbExecutionContext context)
context
- コンテキストpublic void removeStatement(SqlStatement statement)
TransactionManagerConnection
removeStatement
in interface TransactionManagerConnection
statement
- 削除対象のステートメント