sql >> Base de Datos >  >> RDS >> Mysql

Comodines en Java PreparedStatements

Pones el % en la variable enlazada. Así lo haces

   stmt.setString(1, "%" + likeSanitize(title) + "%");
   stmt.setString(2, "%" + likeSanitize(artist) + "%");

Debe agregar ESCAPE '!' para permitirle escapar caracteres especiales que son importantes para ME GUSTA en tus entradas.

Antes de usar título o artista debe desinfectarlos (como se muestra arriba) escapando de los caracteres especiales (! , % , _ y [ ) con un método como este:

public static String likeSanitize(String input) {
    return input
       .replace("!", "!!")
       .replace("%", "!%")
       .replace("_", "!_")
       .replace("[", "![");
}