| Interface | Description | 
|---|---|
| AutoPropertyHandler | 
 オブジェクトの自動設定項目のフィールドに値を設定するインタフェース。 
オブジェクトの事前変換処理が必要な場合には、本インターフェースの実装クラスを追加し、 実処理実行前にexecuteメソッドを呼び出すこと。 オブジェクトに対する  | 
| ParameterHolder.ParamValue | 
 バインドされるパラメータ値を表すインタフェース。
 本インタフェースはメソッドを定義しない。
 実装クラスを型安全に扱うためのインタフェースである。
 (Mapのvalueの型として使用する)
 本クラスのインスタンスは、以下の機能を実装する。
 
     格納したオブジェクトが等価であるかどうかの判定(equals, hashCode)
     格納したオブジェクトの文字列表現(toString)
  
 | 
| ParameterizedSqlPStatement | 
 名前付きバインド変数をもつSQL文を実行するインタフェース。 
 | 
| ResultSetConvertor | 
ResultSetから1カラムのデータを取得するインタフェース。ResultSet.getObject(int) 以外を使用して、値を取得する必要がある場合には、
 本クラスのサブクラスを作成しgetObject(int)以外を使用してデータの取得を行うこと。主に、getObject(int)を使用した場合にアプリケーションで処理する際に不都合なデータ型が返却される場合に、 本インタフェースの実装クラスが必要となる。 例えば、getObject(int)ではdoubleが返却されるため、 ResultSet.getBigDecimal(int)を使用して、明示的にBigDecimalを取得したい場合が該当する。 | 
| SqlConvertor | 
 SQL文の変換を行うインタフェース。 
 | 
| SqlCStatement | 
 ストアドプロシージャを実行するインタフェース。 
 | 
| SqlParameterParser | 
 名前付きバインド変数を持つSQL文を解析するインタフェース。 
名前付きバインド変数を持つSQL文を解析し、JDBC標準のSQL文(バインド変数を「?」に置き換えたSQL)と名前付きバインド変数のListを生成する。 例:  | 
| SqlParameterParserFactory | 
SqlParameterParserを生成するインタフェース。 | 
| SqlPStatement | 
 バインド変数をもつSQL文を実行するインタフェース。 
 | 
| SqlStatement | 
 SQL文を実行するインタフェース。
 
 本インタフェースでは、JDBC標準SQL(バインド変数が「?」)と拡張SQL(バインド変数が名前付き変数)で共通となるインタフェースを定義している。
 
 このクラスはリソースを解放する必要があるが、リソースの解放処理は 
TransactionManagerConnection.terminate()で行われるため、
 Statementを明示的にクローズする必要はない。 | 
| SqlStatementExceptionFactory | 
SqlStatementExceptionを生成するインタフェース。SQLのエラー内容( SQLException.getSQLState()やSQLException.getErrorCode()の結果)に応じて、
 生成するSqlStatementExceptionを切り替える場合には、具象クラスで生成するExceptionの切り替えを行う。 | 
| StatementFactory | 
 SQL実行用オブジェクトを生成するインタフェース。 
 | 
| Class | Description | 
|---|---|
| BasicSqlCStatement | 
CallableStatementのラッパークラス。 | 
| BasicSqlLoader | 
 SQL文をクラスパス上のリソース(SQLファイル)からロードするクラス。 
本クラスでは、下記ルールに従いSQL文をロードする。 a) SQL_IDとSQL文の1グループは、空行で区切られて記述されている。 1つのSQL文の中に空行はいれてはならない。 また、異なるSQL文との間には必ず空行を入れなくてはならない。 コメント行は、空行とはならない。 b) 1つのSQL文の最初の「=」までがSQL_IDとなる。 SQL_IDとは、SQLファイル内でSQL文を一意に特定するためのIDである。 SQL_IDには、任意の値を設定することが可能となっている。 c) コメントは、「--」で開始されている必要がある。 「--」以降の値は、コメントとして扱い読み込まない。 ※コメントは、行コメントとして扱う。複数行に跨るブロックコメントはサポートしない。 d) SQL文の途中で改行を行っても良い。また、可読性を考慮してスペースやtabなどで桁揃えを行っても良い。  | 
| BasicSqlParameterParser | 
 名前付きバインド変数を持つSQL文を解析するクラス。 
SQLの解析は、下記ルールにしたがい行う。 名前付き変数は「:」で開始される。 名前付き変数は、英字(大文字、小文字)、数字、アンダースコア(_)、パーセント(%)で構成されている。 リテラルは、シングルクォートで囲われている。 シングルクォートのエスケープは、シングルクォートである。 リテラル内に名前付き変数のルールに一致する文字列があっても、名前付き変数として扱わない。 コメントは存在しない。(コメント内に名前付き変数のルールに一致する文字列があった場合、名前付き変数として扱うためSQL実行時エラーが発生する。) SQL文の妥当性チェックは行わない。(構文エラーがあった場合は、SQLの実行時エラーとなる。) 本クラスは、解析したSQLの情報を保持するためスレッドアンセーフである。  | 
| BasicSqlParameterParserFactory | 
BasicSqlParameterParserを生成するSqlParameterParserの基本実装クラス。 | 
| BasicSqlPStatement | 
PreparedStatementのをラップしたクラス。本クラスは、JDK5で実装済みのインタフェースのみを提供する。  | 
| BasicStatementFactory | 
StatementFactoryの基本実装クラス。本クラスでは、下記の SqlStatement実装クラスを生成する。BasicSqlPStatement
 nablarch.core.db.statement.BasicSqlCStatement
  | 
| BatchParameterHolder | 
 バッチ実行時のパラメータを組み立てるクラス。
  
ParameterHolderを複数集約し、
 それらを整形する機能を持つ。 | 
| ParameterHolder | 
 ステートメントにバインドするパラメータ名とその値を保持するクラス。
 本クラスで保持された値は、ログ出力、クエリ結果のキャッシュに使用される。 
 | 
| ResultSetIterator | |
| SelectOption | 
 検索処理のオプションを保持するクラス。 
 | 
| SqlJsonLogFormatter | 
 SQLログを出力するクラス。 
 | 
| SqlJsonLogFormatter.AdditionalInfoBuilder | 
 付加情報を処理するクラス。 
 | 
| SqlJsonLogFormatter.BatchCountBuilder | 
 バッチ件数を処理するクラス。 
 | 
| SqlJsonLogFormatter.CountBuilder | 
 検索件数を処理するクラス。 
 | 
| SqlJsonLogFormatter.ExecuteTimeBuilder | 
 実行時間を処理するクラス。 
 | 
| SqlJsonLogFormatter.FetchSizeBuilder | 
 フェッチ件数を処理するクラス。 
 | 
| SqlJsonLogFormatter.MethodNameBuilder | 
 メソッド名を処理するクラス。 
 | 
| SqlJsonLogFormatter.QueryTimeoutBuilder | 
 タイムアウト時間を処理するクラス。 
 | 
| SqlJsonLogFormatter.RetrieveTimeBuilder | 
 データ取得時間を処理するクラス。 
 | 
| SqlJsonLogFormatter.SizeBuilder | 
 最大取得件数を処理するクラス。 
 | 
| SqlJsonLogFormatter.SqlBuilder | 
 SQL文を処理するクラス。 
 | 
| SqlJsonLogFormatter.StartPositionBuilder | 
 取得開始位置を処理するクラス。 
 | 
| SqlJsonLogFormatter.UpdateCountBuilder | 
 更新件数を処理するクラス。 
 | 
| SqlLogFormatter | 
 SQLログを出力するクラス。 
 | 
| SqlLogFormatter.AdditionalInfoItem | 
 付加情報を取得するクラス。 
 | 
| SqlLogFormatter.BatchCountItem | 
 バッチ件数を取得するクラス。 
 | 
| SqlLogFormatter.CountItem | 
 検索件数を取得するクラス。 
 | 
| SqlLogFormatter.ExecuteTimeItem | 
 実行時間を取得するクラス。 
 | 
| SqlLogFormatter.FetchSizeItem | 
 フェッチ件数を取得するクラス。 
 | 
| SqlLogFormatter.MethodNameItem | 
 メソッド名を取得するクラス。 
 | 
| SqlLogFormatter.QueryTimeoutItem | 
 タイムアウト時間を取得するクラス。 
 | 
| SqlLogFormatter.RetrieveTimeItem | 
 データ取得時間を取得するクラス。 
 | 
| SqlLogFormatter.SizeItem | 
 最大取得件数を取得するクラス。 
 | 
| SqlLogFormatter.SqlItem | 
 SQL文を取得するクラス。 
 | 
| SqlLogFormatter.SqlLogContext | 
 SQLログのコンテキスト情報を保持するクラス。 
 | 
| SqlLogFormatter.StartPositionItem | 
 取得開始位置を取得するクラス。 
 | 
| SqlLogFormatter.UpdateCountItem | 
 更新件数を取得するクラス。 
 | 
| SqlLogUtil | 
 SQLログの出力を助けるユーティリティ。 
 | 
| SqlResultSet | 
 簡易検索結果を保持するクラス。 
 | 
| SqlRow | 
 簡易取得結果1行分のデータを保持するクラス。
 
 各カラムの内容は、そのデータ型に対応したgetメソッドにより取得できる。
 この際、カラム名の大文字/小文字の違い、アンダースコアの有無は区別せず、
 同一のカラム名とみなされる。
 
 例:
 
 USER_NAMEとuser_nameは同一のカラム名とみなされる。(大文字小文字の区別はしないため)
 USER_NAMEとuserNameは同一のカラム名とみなされる。(アンダースコアの有無は区別しないため)
  
 |