sql >> Database teknologi >  >> RDS >> Mysql

Jokertegn i Java PreparedStatements

Du sætter % i den bundne variabel. Så det gør du

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

Du bør tilføje ESCAPE '!' for at give dig mulighed for at undslippe specialtegn, der betyder noget for LIKE i dine inputs.

Før du bruger title eller kunstner du bør rense dem (som vist ovenfor) ved at undslippe specialtegn (! , % , og [ ) med en metode som denne:

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



  1. Hvordan tillader jeg en rullelisteparameter i SSRS at have en standardværdi på -- Alle -- ?

  2. Sådan øges automatisk med 2 for en bestemt tabel i mysql

  3. PHP &MySQL:Hvordan kan jeg bruge SET @rank=0; i $query=

  4. Hvordan udfylder jeg en MySQL-tabel med mange tilfældige tal?