Sie setzen das % in die gebundene Variable. Also tust du es
stmt.setString(1, "%" + likeSanitize(title) + "%");
stmt.setString(2, "%" + likeSanitize(artist) + "%");
Sie sollten ESCAPE '!' hinzufügen damit Sie Sonderzeichen, die für LIKE von Bedeutung sind, maskieren können in Ihre Eingaben.
Vor der Verwendung von title oder Künstler Sie sollten sie bereinigen (wie oben gezeigt), indem Sie Sonderzeichen maskieren (! , % , _ , und [ ) mit einer Methode wie dieser:
public static String likeSanitize(String input) {
return input
.replace("!", "!!")
.replace("%", "!%")
.replace("_", "!_")
.replace("[", "![");
}