J'utilise des instructions préparées pour exécuter des requêtes de base de données mysql. Et je souhaite implémenter une fonctionnalité de recherche basée sur une sorte de mot-clé.
Pour cela, j'ai besoin d'utiliser des LIKE
mots-clés, je le sais. Et j'ai également utilisé des instructions préparées auparavant, mais je ne sais pas comment l'utiliser avec LIKE
car à partir du code suivant, où ajouterais-je le 'keyword%'
?
Puis-je l'utiliser directement dans le pstmt.setString(1, notes)
comme (1, notes+"%")
ou quelque chose comme ça. Je vois beaucoup de messages à ce sujet sur le Web mais aucune bonne réponse nulle part.
PreparedStatement pstmt = con.prepareStatement(
"SELECT * FROM analysis WHERE notes like ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
... LIKE '%' || ? || '%'
ou similaire - mais c'est beaucoup moins flexible.