public class VariableOrderBySyntaxConvertor extends SqlConvertorSupport
Constructor and Description |
---|
VariableOrderBySyntaxConvertor() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
convert(java.lang.String sql,
java.lang.Object obj)
SQL文の可変ORDER BY構文を変換する。
可変ORDER BY構文の仕様は下記のとおり。
|
getBindValue
public java.lang.String convert(java.lang.String sql, java.lang.Object obj)
$sort(フィールド名) {(ケース1)(ケース2)・・・(ケースn)} ケース: ORDER BY句の切り替え候補を表す。 候補を一意に識別するソートIDとORDER BY句に指定する文字列(以降はケース本体と称す)を記述する。 どの候補にも一致しない場合に使用するデフォルトのケースには、ソートIDに"default"を指定する。 フィールド名: 検索条件オブジェクトからソートIDを取得する際に使用するフィールド名を表す。ケース部分の仕様は下記のとおり。
デフォルトのケースを指定したSQL文の場合 SELECT * FROM USER WHERE USER_ID = :userId $sort(sortId) {(1 USER_ID ASC) (2 USER_ID DESC) (3 USER_ID, KANJI_NAME ASC) (4 USER_ID, KANJI_NAME DESC) (default USER_ID ASC)} sortId = 1: SELECT * FROM USER WHERE USER_ID = :userId ORDER BY USER_ID ASC sortId = 4: SELECT * FROM USER WHERE USER_ID = :userId ORDER BY USER_ID, KANJI_NAME DESC sortId = null: SELECT * FROM USER WHERE USER_ID = :userId ORDER BY USER_ID ASC デフォルトのケースを指定しないSQL文の場合 SELECT * FROM USER WHERE USER_ID = :userId $sort(sortId) {(1 USER_ID ASC) (2 USER_ID DESC) (3 USER_ID, KANJI_NAME ASC) (4 USER_ID, KANJI_NAME DESC)} sortId = null: SELECT * FROM USER WHERE USER_ID = :userId
sql
- SQL文obj
- 検索条件をもつオブジェクト