Maison > Java > javaDidacticiel > Comment utiliser le caractère générique LIKE dans les instructions préparées pour les recherches basées sur des mots-clés dans MySQL ?

Comment utiliser le caractère générique LIKE dans les instructions préparées pour les recherches basées sur des mots-clés dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-11-17 15:38:01
original
488 Les gens l'ont consulté

How do I use the LIKE wildcard in prepared statements for keyword-based searches in MySQL?

Utilisation du caractère générique "J'aime" dans une instruction préparée

Lors de la mise en œuvre d'une fonctionnalité de recherche basée sur un mot-clé à l'aide d'instructions préparées en SQL, il est nécessaire d'utiliser le mot clé LIKE. Cependant, comprendre comment l'incorporer dans l'instruction préparée peut prêter à confusion.

Pour spécifier le texte du mot-clé dans l'instruction préparée, il est crucial de le définir dans la valeur elle-même, et non dans la chaîne SQL de l'instruction préparée. . En tant que tel, la manière appropriée d'implémenter une recherche LIKE avec correspondance de préfixe serait la suivante :

notes = notes
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");
PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");
Copier après la connexion

Alternativement, des variantes de correspondance de suffixe et de correspondance globale peuvent être implémentées en utilisant des techniques similaires :

// Suffix match
pstmt.setString(1, "%" + notes);

// Global match
pstmt.setString(1, "%" + notes + "%");
Copier après la connexion

En utilisant ces techniques, on peut utiliser efficacement le mot-clé LIKE dans les instructions préparées pour effectuer des recherches basées sur des mots-clés dans les requêtes MySQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal