Maison > Java > javaDidacticiel > le corps du texte

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
397 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!

source:php.cn
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