Estoy usando declaraciones preparadas para ejecutar consultas de bases de datos mysql. Y quiero implementar una funcionalidad de búsqueda basada en una especie de palabra clave.
Para eso necesito usar LIKE
palabras clave, eso lo sé. Y también he usado declaraciones preparadas antes, pero no sé cómo usarlo LIKE
porque, desde el siguiente código, ¿dónde agregaría el 'keyword%'
?
¿Puedo usarlo directamente en el pstmt.setString(1, notes)
as (1, notes+"%")
o algo así? Veo muchas publicaciones sobre esto en la web, pero no hay una buena respuesta en ningún lado.
PreparedStatement pstmt = con.prepareStatement(
"SELECT * FROM analysis WHERE notes like ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
... LIKE '%' || ? || '%'
o similar, pero eso es mucho menos flexible.