Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Curingas em Java PreparedStatements


Você coloca o % na variável vinculada. Então você faz
   stmt.setString(1, "%" + likeSanitize(title) + "%");
   stmt.setString(2, "%" + likeSanitize(artist) + "%");

Você deve adicionar ESCAPE '!' para permitir que você escape de caracteres especiais que são importantes para CURTIR em você entradas.

Antes de usar título ou artista você deve higienizá-los (como mostrado acima) escapando caracteres especiais (! , % , _ e [ ) com um método como este:
public static String likeSanitize(String input) {
    return input
       .replace("!", "!!")
       .replace("%", "!%")
       .replace("_", "!_")
       .replace("[", "![");
}