Apache Commons Lang を使用して、プレフィックスのみを使用してマークされた文字列内の変数を置き換えようとしています。たとえば、SQL クエリでStrSubstitutor
マークされた名前付きパラメーターなどです。:
これが私が使用しているコードスニペットです。これは機能しません。
import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.text.StrMatcher;
import org.apache.commons.lang3.text.StrSubstitutor;
Map<String,String> m = ImmutableMap.of("a", 1);
StrSubstitutor strSubstitutor = new StrSubstitutor(m)
.setVariablePrefix(":")
.setVariableSuffix("");
System.out.println(strSubstitutor.replace("select a from t where a = :a"));
// expect select a from t where a = 1
それを行う方法はありますか?
カスタムを実装しようとしていますStrMatcher
が、まだ成功していません。以前にそれを行ったことがあり、経験を共有できる人はいますか?