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 LIKEmots-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 LIKEcar à 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.