public class BasicDbConnection extends java.lang.Object implements TransactionManagerConnection
TransactionManagerConnection
の基本実装クラス。
本オブジェクトは、マルチスレッド環境で使用されることは想定しない。すなわち、スレッドアンセーフなオブジェクトである。Connection
コンストラクタと説明 |
---|
BasicDbConnection(java.sql.Connection con)
指定されたデータ接続を保持するオブジェクトを生成する。
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
closeConnection()
コネクションをクローズする。
|
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オブジェクトを生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedCountSqlStatementBySqlId(java.lang.String sqlId,
java.lang.Object condition)
SQL_IDを元に件数取得(カウント)用のStatementオブジェクトを生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql)
名前付きパラメータをもつSQL文実行用のStatementオブジェクトを生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql,
java.lang.Object condition)
名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトを生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql,
java.lang.Object condition,
SelectOption selectOption)
検索範囲を指定して、名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトを生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatement(java.lang.String sql,
SelectOption selectOption)
検索範囲を指定した名前付きパラメータをもつSQL文実行用のStatementオブジェクトを生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId)
名前付きパラメータをもつSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId,
java.lang.Object condition)
名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId,
java.lang.Object condition,
SelectOption selectOption)
検索範囲を設定した名前付きパラメータをもつ可変条件SQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
ParameterizedSqlPStatement |
prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId,
SelectOption selectOption)
検索範囲を設定した名前付きパラメータをもつSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
SqlPStatement |
prepareStatement(java.lang.String sql)
パラメータ付きSQL文実行用のStatementオブジェクトを生成する。
|
SqlPStatement |
prepareStatement(java.lang.String sql,
int autoGeneratedKeys)
自動生成キー(データベース側で自動生成された値)を取得する機能を持つStatementオブジェクトを生成する。
|
SqlPStatement |
prepareStatement(java.lang.String sql,
int[] columnIndexes)
自動生成キー(データベース側で自動生成された値)を取得する機能を持つStatementオブジェクトを生成する。
|
SqlPStatement |
prepareStatement(java.lang.String sql,
SelectOption selectOption)
検索範囲を指定したパラメータ付きSQL文実行用のStatementオブジェクトを生成する。
|
SqlPStatement |
prepareStatement(java.lang.String sql,
java.lang.String[] columnNames)
自動生成キー(データベース側で自動生成された値)を取得する機能を持つStatementオブジェクトを生成する。
|
SqlPStatement |
prepareStatementBySqlId(java.lang.String sqlId)
パラメータ付きSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
SqlPStatement |
prepareStatementBySqlId(java.lang.String sqlId,
SelectOption selectOption)
検索範囲を指定したパラメータ付きSQL文実行用のStatementオブジェクトをSQL_IDを元に生成する。
|
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()
データベース接続の終了処理を行う。
|
public BasicDbConnection(java.sql.Connection con)
con
- データベース接続オブジェクトpublic void initialize()
下記処理を行う。
initialize
インタフェース内 TransactionManagerConnection
public void commit()
commit
インタフェース内 TransactionManagerConnection
Connection.commit()
public void rollback()
rollback
インタフェース内 TransactionManagerConnection
public void terminate()
SqlStatement
のクローズ処理closeConnection()
の呼び出しterminate
インタフェース内 TransactionManagerConnection
Statement.close()
protected void closeConnection() throws java.sql.SQLException
Connection.close()
を呼び出す。java.sql.SQLException
- SQL例外public void setIsolationLevel(int level)
setIsolationLevel
インタフェース内 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
インタフェース内 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
インタフェース内 AppDbConnection
sql
- SQL文selectOption
- 検索処理オプションPreparedStatement
のラッパーstatementConnection.prepareStatement(String)
public SqlPStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()
を使用して取得する必要がある。prepareStatement
インタフェース内 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
インタフェース内 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
インタフェース内 AppDbConnection
sql
- SQL文columnNames
- 挿入された行から返される列を示す列名の配列PreparedStatement
のラッパーStatementConnection.prepareStatement(String, String[])
public SqlPStatement prepareStatementBySqlId(java.lang.String sqlId)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。prepareStatementBySqlId
インタフェース内 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
インタフェース内 AppDbConnection
sqlId
- SQL_IDselectOption
- 検索処理オプションPreparedStatement
のラッパーstatementConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。prepareParameterizedSqlStatement
インタフェース内 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
インタフェース内 AppDbConnection
sql
- SQL文selectOption
- 検索処理オプションConnection.prepareStatement(String)
public ParameterizedSqlPStatement prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId)
TransactionManagerConnection.terminate()
メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatement
は、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatement
では処理できないことに注意すること。prepareParameterizedSqlStatementBySqlId
インタフェース内 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
インタフェース内 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
インタフェース内 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
インタフェース内 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
インタフェース内 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
インタフェース内 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
インタフェース内 AppDbConnection
sqlId
- SQL_IDcondition
- 可変条件に設定される条件をもつオブジェクトConnection.prepareStatement(String)
public SqlPStatement prepareCountStatementBySqlId(java.lang.String sqlId)
AppDbConnection.prepareStatementBySqlId(String)
と同じ処理を行う。
件数取得用のSQLへの変換は、Dialect.convertCountSql(String)
で行う。prepareCountStatementBySqlId
インタフェース内 AppDbConnection
sqlId
- SQL_IDConnection.prepareStatement(String)
public SqlCStatement prepareCall(java.lang.String sql)
AppDbConnection
prepareCall
インタフェース内 AppDbConnection
sql
- SQL文Connection.prepareCall(String)
public SqlCStatement prepareCallBySqlId(java.lang.String sqlId)
AppDbConnection
prepareCallBySqlId
インタフェース内 AppDbConnection
sqlId
- SQL_IDConnection.prepareCall(String)
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
インタフェース内 TransactionManagerConnection
jdbcTransactionTimeoutHandler
- トランザクションタイムアウトハンドラpublic java.sql.Connection getConnection()
getConnection
インタフェース内 TransactionManagerConnection
public Dialect getDialect()
TransactionManagerConnection
DefaultDialect
を取得する。getDialect
インタフェース内 TransactionManagerConnection
public void setContext(DbExecutionContext context)
context
- コンテキストpublic void removeStatement(SqlStatement statement)
TransactionManagerConnection
removeStatement
インタフェース内 TransactionManagerConnection
statement
- 削除対象のステートメント