%を束縛変数に入れます。だからあなたは
stmt.setString(1, "%" + likeSanitize(title) + "%");
stmt.setString(2, "%" + likeSanitize(artist) + "%");
ESCAPE'!'を追加する必要があります LIKEにとって重要な特殊文字をエスケープできるようにします 入力します。
タイトルを使用する前に またはアーティスト 特殊な文字(!)をエスケープして、(上記のように)それらをサニタイズする必要があります 、% 、 _ 、および [ )次のような方法で:
public static String likeSanitize(String input) {
return input
.replace("!", "!!")
.replace("%", "!%")
.replace("_", "!_")
.replace("[", "![");
}