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 インタフェース内 TransactionManagerConnectionpublic void commit()
commit インタフェース内 TransactionManagerConnectionConnection.commit()public void rollback()
rollback インタフェース内 TransactionManagerConnectionpublic void terminate()
SqlStatementのクローズ処理closeConnection()の呼び出しterminate インタフェース内 TransactionManagerConnectionStatement.close()protected void closeConnection()
throws java.sql.SQLException
Connection.close()を呼び出す。java.sql.SQLException - SQL例外public void setIsolationLevel(int level)
setIsolationLevel インタフェース内 TransactionManagerConnectionlevel - アイソレーションレベル(Connectionで定義されている次の定数のうち1つを設定する。)
Connection.TRANSACTION_NONEConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_REPEATABLE_READConnection.TRANSACTION_SERIALIZABLEConnectionpublic SqlPStatement prepareStatement(java.lang.String sql)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。prepareStatement インタフェース内 AppDbConnectionsql - 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 インタフェース内 AppDbConnectionsql - SQL文selectOption - 検索処理オプションPreparedStatementのラッパーstatementConnection.prepareStatement(String)public SqlPStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()を使用して取得する必要がある。prepareStatement インタフェース内 AppDbConnectionsql - SQL文autoGeneratedKeys - 自動生成キーを返すかどうかを示すフラグ。Statement.RETURN_GENERATED_KEYS または Statement.NO_GENERATED_KEYSPreparedStatementのラッパーStatementConnection.prepareStatement(String, int)public SqlPStatement prepareStatement(java.lang.String sql, int[] columnIndexes)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()を使用して取得する必要がある。prepareStatement インタフェース内 AppDbConnectionsql - SQL文columnIndexes - 挿入された行から返される列を示す列インデックスの配列PreparedStatementのラッパーStatementConnection.prepareStatement(String, int[])public SqlPStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
自動生成されたキーは、SqlPStatement.getGeneratedKeys()を使用して取得する必要がある。prepareStatement インタフェース内 AppDbConnectionsql - SQL文columnNames - 挿入された行から返される列を示す列名の配列PreparedStatementのラッパーStatementConnection.prepareStatement(String, String[])public SqlPStatement prepareStatementBySqlId(java.lang.String sqlId)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。prepareStatementBySqlId インタフェース内 AppDbConnectionsqlId - 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 インタフェース内 AppDbConnectionsqlId - SQL_IDselectOption - 検索処理オプションPreparedStatementのラッパーstatementConnection.prepareStatement(String)public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatementは、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatementでは処理できないことに注意すること。prepareParameterizedSqlStatement インタフェース内 AppDbConnectionsql - 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 インタフェース内 AppDbConnectionsql - SQL文selectOption - 検索処理オプションConnection.prepareStatement(String)public ParameterizedSqlPStatement prepareParameterizedSqlStatementBySqlId(java.lang.String sqlId)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatementは、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatementでは処理できないことに注意すること。prepareParameterizedSqlStatementBySqlId インタフェース内 AppDbConnectionsqlId - 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 インタフェース内 AppDbConnectionsqlId - SQL_IDselectOption - 検索処理オプションConnection.prepareStatement(String)public ParameterizedSqlPStatement prepareParameterizedSqlStatement(java.lang.String sql, java.lang.Object condition)
TransactionManagerConnection.terminate()メソッドで自動的にクローズされるため、
アプリケーションは、取得したStatementオブジェクトを明示的にクローズする必要はない。
注意:本メソッドで返却されるParameterizedSqlPStatementは、名前付きパラメータをもつSQL文専用である。
このため、通常のバインド変数(バインド変数を「?」で表すもの)をもつSQL文の場合は、
本メソッドで生成したParameterizedSqlPStatementでは処理できないことに注意すること。prepareParameterizedSqlStatement インタフェース内 AppDbConnectionsql - 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 インタフェース内 AppDbConnectionsql - 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 インタフェース内 AppDbConnectionsqlId - 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 インタフェース内 AppDbConnectionsqlId - 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 インタフェース内 AppDbConnectionsqlId - SQL_IDcondition - 可変条件に設定される条件をもつオブジェクトConnection.prepareStatement(String)public SqlPStatement prepareCountStatementBySqlId(java.lang.String sqlId)
AppDbConnection.prepareStatementBySqlId(String)と同じ処理を行う。
件数取得用のSQLへの変換は、Dialect.convertCountSql(String)で行う。prepareCountStatementBySqlId インタフェース内 AppDbConnectionsqlId - SQL_IDConnection.prepareStatement(String)public SqlCStatement prepareCall(java.lang.String sql)
AppDbConnectionprepareCall インタフェース内 AppDbConnectionsql - SQL文Connection.prepareCall(String)public SqlCStatement prepareCallBySqlId(java.lang.String sqlId)
AppDbConnectionprepareCallBySqlId インタフェース内 AppDbConnectionsqlId - 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 インタフェース内 TransactionManagerConnectionjdbcTransactionTimeoutHandler - トランザクションタイムアウトハンドラpublic java.sql.Connection getConnection()
getConnection インタフェース内 TransactionManagerConnectionpublic Dialect getDialect()
TransactionManagerConnectionDefaultDialectを取得する。getDialect インタフェース内 TransactionManagerConnectionpublic void setContext(DbExecutionContext context)
context - コンテキストpublic void removeStatement(SqlStatement statement)
TransactionManagerConnectionremoveStatement インタフェース内 TransactionManagerConnectionstatement - 削除対象のステートメント