public class BasicSqlParameterParser extends java.lang.Object implements SqlParameterParser
Constructor and Description |
---|
BasicSqlParameterParser() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
convertToJdbcSql(java.lang.String sql,
java.lang.Object obj)
Nablarchの拡張構文が埋め込まれたSQL文をJDBC標準のSQL文(バインド変数を「?」に置き換えたSQL)に変換する。
|
java.util.List<java.lang.String> |
getNameList()
名前付きバインド変数のリストを取得する。
名前付きバインド変数は、「?」の位置順にリストに格納されている。 |
java.lang.String |
getSql()
SQL文を取得する。
返却されるSQL文は、名前付きバインド変数部を「?」に置き換えたSQL |
void |
parse(java.lang.String sql)
SQL文を解析する。
|
void |
setLikeEscapeChar(char likeEscapeChar)
エスケープ文字を設定する。
SQL文のlike句に埋め込む条件のエスケープに使用する文字を設定する。 ここで設定した文字は、like条件のescape句に自動設定される。
|
void |
setSqlConvertors(java.util.List<SqlConvertor> sqlConvertors)
SqlConvertorのリストを設定する。
|
public void parse(java.lang.String sql)
parse
in interface SqlParameterParser
sql
- 名前付きバインド変数を持つSQL文public java.lang.String convertToJdbcSql(java.lang.String sql, java.lang.Object obj)
SqlConvertor
を使用する。
convertToJdbcSql
in interface SqlParameterParser
sql
- SQL文obj
- 検索条件をもつオブジェクトpublic java.lang.String getSql()
getSql
in interface SqlParameterParser
public java.util.List<java.lang.String> getNameList()
getNameList
in interface SqlParameterParser
public void setLikeEscapeChar(char likeEscapeChar)
String sql = "select user_id, user_kanji_name from usr where user_kanji_name like :%userKanjiName";
BasicSqlParameterParser parser = new BasicSqlParameterParser();
parser.setLikeEscapeChar("\");
parser.parse(sql);
parser.getSql(); -> select user_id, user_kanji_name from usr where user_kanji_name like ? ESCAPE '\'
setLikeEscapeChar
in interface SqlParameterParser
likeEscapeChar
- エスケープ文字public void setSqlConvertors(java.util.List<SqlConvertor> sqlConvertors)
sqlConvertors
- SqlConvertorのリスト