Package nablarch.core.db.statement
Class BasicSqlLoader
java.lang.Object
nablarch.core.db.statement.BasicSqlLoader
- All Implemented Interfaces:
StaticDataLoader<Map<String,
String>>
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などで桁揃えを行っても良い。
本クラスでは、下記ルールに従い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などで桁揃えを行っても良い。
- Author:
- Hisaaki Sioiri
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongenerateIndexKey
(String indexName, Map<String, String> value) 静的データからインデックスのキーを生成する。静的データからIDを取得する。全てのインデックス名を取得する。SQL文をロードする。インデックスに紐付くデータをロードする。loadAll()
全てのデータをロードする。void
setExtension
(String extension) 拡張子を設定する。
ここで設定された拡張子を付加したファイルをSQLファイルとして読み込む。 指定がない場合は、デフォルトで拡張子はsqlとなる。void
setFileEncoding
(String fileEncoding) ファイルエンコーディングを設定する。void
setSqlLoaderCallback
(List<SqlLoaderCallback> sqlLoaderCallbackList) コールバッククラスを設定する。 コールバッククラスはリストの順序で実行される。
-
Constructor Details
-
BasicSqlLoader
public BasicSqlLoader()
-
-
Method Details
-
setSqlLoaderCallback
コールバッククラスを設定する。 コールバッククラスはリストの順序で実行される。- Parameters:
sqlLoaderCallbackList
- SQLプリプロセッサのリスト
-
setFileEncoding
ファイルエンコーディングを設定する。
ここで設定されたエンコーディングを使用してSQLファイルを読み込む。 本設定を行わない場合は、JVMのデフォルトエンコーディングを使用してSQLファイルが読み込まれる。- Parameters:
fileEncoding
- ファイルエンコーディング
-
setExtension
拡張子を設定する。
ここで設定された拡張子を付加したファイルをSQLファイルとして読み込む。 指定がない場合は、デフォルトで拡張子はsqlとなる。- Parameters:
extension
- 拡張子
-
getValue
SQL文をロードする。- Specified by:
getValue
in interfaceStaticDataLoader<Map<String,
String>> - Parameters:
id
- データのID(SQL文が書かれたファイルのリソース名)- Returns:
- ロードしたSQL文
KEY->SQL_ID
VALUE->SQL文
-
getValues
インデックスに紐付くデータをロードする。
本メソッドは、サポートしない。- Specified by:
getValues
in interfaceStaticDataLoader<Map<String,
String>> - Parameters:
indexName
- インデックス名key
- 静的データのキー- Returns:
- インデックス名、キーに対応するデータのリスト
-
loadAll
全てのデータをロードする。
本メソッドはサポートしない。- Specified by:
loadAll
in interfaceStaticDataLoader<Map<String,
String>> - Returns:
- 全てのデータ
-
getIndexNames
全てのインデックス名を取得する。
本メソッドはサポートしない。- Specified by:
getIndexNames
in interfaceStaticDataLoader<Map<String,
String>> - Returns:
- 全てのインデックス名
-
getId
静的データからIDを取得する。
本メソッドはサポートしない。- Specified by:
getId
in interfaceStaticDataLoader<Map<String,
String>> - Parameters:
value
- 静的データ- Returns:
- 生成したID
-
generateIndexKey
静的データからインデックスのキーを生成する。
本メソッドはサポートしない。- Specified by:
generateIndexKey
in interfaceStaticDataLoader<Map<String,
String>> - Parameters:
indexName
- インデックス名value
- 静的データ- Returns:
- 生成したインデックスのキー
-