Maison > Java > javaDidacticiel > Comment utiliser les caractères génériques dans les instructions préparées avec LIKE ?

Comment utiliser les caractères génériques dans les instructions préparées avec LIKE ?

Linda Hamilton
Libérer: 2024-11-15 12:32:02
original
893 Les gens l'ont consulté

How to Use Wildcards in Prepared Statements with LIKE?

Requêtes génériques dans les instructions préparées avec LIKE

Lors de l'utilisation d'instructions préparées pour les requêtes de base de données, la mise en œuvre d'une fonctionnalité de recherche avec des mots-clés nécessite souvent l'utilisation de l'opérateur LIKE. Ce guide fournit une solution complète sur la façon d'y parvenir avec des instructions préparées.

Pour utiliser l'opérateur LIKE avec des instructions préparées, vous pouvez ajouter le symbole générique (%) au terme de recherche dans la valeur fournie à l'instruction préparée. déclaration, telle que :

String notes = "keyword%";
PreparedStatement pstmt = con.prepareStatement(
      "SELECT * FROM analysis WHERE notes LIKE ?");
pstmt.setString(1, notes);
ResultSet rs = pstmt.executeQuery();
Copier après la connexion

En définissant la valeur avec le caractère générique ajouté, vous activez une requête qui correspond à tous les enregistrements où la colonne « notes » contient le mot-clé d'entrée en tant que sous-chaîne.

Cependant, certains caractères ont des significations particulières en SQL, notamment %, !, [, _ et ]. Pour garantir une gestion correcte de ces caractères, ils doivent être échappés à l'aide de la clause ESCAPE dans l'instruction préparée. Par exemple :

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

En remplaçant ces caractères par leurs versions d'échappement, l'instruction préparée interprétera correctement le caractère générique et fera correspondre les enregistrements en conséquence.

En fonction de vos besoins de recherche, vous pouvez ajuster le placement du caractère générique pour réaliser différents scénarios de correspondance :

  • Correspondance du préfixe : "%" ajouté à la fin du mot-clé (par exemple, "mot-clé%")
  • Correspondance du suffixe : " %" ajouté au début du mot-clé (par exemple, "%" "keyword")
  • Correspondance globale : "%" ajouté aux deux extrémités du mot-clé (par exemple, "%" "keyword" "%" )

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