Estou usando instruções preparadas para executar consultas ao banco de dados mysql. E quero implementar uma funcionalidade de pesquisa com base em uma espécie de palavra-chave.
Para isso eu preciso usar a LIKE
palavra-chave, isso eu sei. E eu também já usei instruções preparadas antes, mas não sei como usá-lo LIKE
porque, a partir do código a seguir, onde eu adicionaria o 'keyword%'
?
Posso usá-lo diretamente no pstmt.setString(1, notes)
como (1, notes+"%")
ou algo assim. Vejo muitas postagens sobre isso na Web, mas não há uma boa resposta em nenhum lugar.
PreparedStatement pstmt = con.prepareStatement(
"SELECT * FROM analysis WHERE notes like ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
... LIKE '%' || ? || '%'
ou similar - mas isso é muito menos flexível.