Package nablarch.core.db.statement
package nablarch.core.db.statement
データベースに対するSQL実行機能を提供する。
-
ClassDescriptionオブジェクトの自動設定項目のフィールドに値を設定するインタフェース。
オブジェクトの事前変換処理が必要な場合には、本インターフェースの実装クラスを追加し、 実処理実行前にexecuteメソッドを呼び出すこと。 オブジェクトに対するCallableStatement
のラッパークラス。SQL文をクラスパス上のリソース(SQLファイル)からロードするクラス。名前付きバインド変数を持つSQL文を解析するクラス。
SQLの解析は、下記ルールにしたがい行う。
名前付き変数は「:」で開始される。 名前付き変数は、英字(大文字、小文字)、数字、アンダースコア(_)、パーセント(%)で構成されている。 リテラルは、シングルクォートで囲われている。 シングルクォートのエスケープは、シングルクォートである。 リテラル内に名前付き変数のルールに一致する文字列があっても、名前付き変数として扱わない。 コメントは存在しない。(コメント内に名前付き変数のルールに一致する文字列があった場合、名前付き変数として扱うためSQL実行時エラーが発生する。) SQL文の妥当性チェックは行わない。(構文エラーがあった場合は、SQLの実行時エラーとなる。) 本クラスは、解析したSQLの情報を保持するためスレッドアンセーフである。BasicSqlParameterParser
を生成するSqlParameterParser
の基本実装クラス。PreparedStatement
のをラップしたクラス。
本クラスは、JDK5で実装済みのインタフェースのみを提供する。StatementFactory
の基本実装クラス。
本クラスでは、下記のSqlStatement
実装クラスを生成する。
BasicSqlPStatement
nablarch.core.db.statement.BasicSqlCStatementバッチ実行時のパラメータを組み立てるクラス。ParameterHolder
を複数集約し、 それらを整形する機能を持つ。ステートメントにバインドするパラメータ名とその値を保持するクラス。 本クラスで保持された値は、ログ出力、クエリ結果のキャッシュに使用される。バインドされるパラメータ値を表すインタフェース。 本インタフェースはメソッドを定義しない。 実装クラスを型安全に扱うためのインタフェースである。 (Mapのvalueの型として使用する) 本クラスのインスタンスは、以下の機能を実装する。 格納したオブジェクトが等価であるかどうかの判定(equals, hashCode) 格納したオブジェクトの文字列表現(toString)名前付きバインド変数をもつSQL文を実行するインタフェース。ResultSet
から1カラムのデータを取得するインタフェース。
ResultSet.getObject(int)
以外を使用して、値を取得する必要がある場合には、 本クラスのサブクラスを作成しgetObject(int)以外を使用してデータの取得を行うこと。
主に、getObject(int)を使用した場合にアプリケーションで処理する際に不都合なデータ型が返却される場合に、 本インタフェースの実装クラスが必要となる。
例えば、getObject(int)ではdoubleが返却されるため、ResultSet.getBigDecimal(int)
を使用して、明示的にBigDecimal
を取得したい場合が該当する。検索処理のオプションを保持するクラス。SQL文の変換を行うインタフェース。ストアドプロシージャを実行するインタフェース。SQLログを出力するクラス。付加情報を処理するクラス。バッチ件数を処理するクラス。検索件数を処理するクラス。実行時間を処理するクラス。フェッチ件数を処理するクラス。メソッド名を処理するクラス。タイムアウト時間を処理するクラス。データ取得時間を処理するクラス。最大取得件数を処理するクラス。SQL文を処理するクラス。取得開始位置を処理するクラス。更新件数を処理するクラス。SQLログを出力するクラス。付加情報を取得するクラス。バッチ件数を取得するクラス。検索件数を取得するクラス。実行時間を取得するクラス。フェッチ件数を取得するクラス。メソッド名を取得するクラス。タイムアウト時間を取得するクラス。データ取得時間を取得するクラス。最大取得件数を取得するクラス。SQL文を取得するクラス。SQLログのコンテキスト情報を保持するクラス。取得開始位置を取得するクラス。更新件数を取得するクラス。SQLログの出力を助けるユーティリティ。名前付きバインド変数を持つSQL文を解析するインタフェース。
名前付きバインド変数を持つSQL文を解析し、JDBC標準のSQL文(バインド変数を「?」に置き換えたSQL)と名前付きバインド変数のListを生成する。
例:SqlParameterParser
を生成するインタフェース。バインド変数をもつSQL文を実行するインタフェース。簡易検索結果を保持するクラス。簡易取得結果1行分のデータを保持するクラス。SQL文を実行するインタフェース。SqlStatementException
を生成するインタフェース。
SQLのエラー内容(SQLException.getSQLState()
やSQLException.getErrorCode()
の結果)に応じて、 生成するSqlStatementException
を切り替える場合には、具象クラスで生成するExceptionの切り替えを行う。SQL実行用オブジェクトを生成するインタフェース。