Heim >Java >javaLernprogramm >Wie verwende ich den „Gefällt mir'-Platzhalter in vorbereiteten Aussagen?

Wie verwende ich den „Gefällt mir'-Platzhalter in vorbereiteten Aussagen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 14:13:021009Durchsuche

How to Use the

Verwendung des „Gefällt mir“-Platzhalters in vorbereiteten Anweisungen

Verstehen des Problems

Bei Datenbankabfragen , wird der „Gefällt mir“-Platzhalter üblicherweise für die Suche nach Daten basierend auf einem Schlüsselwortmuster verwendet. Bei der Verwendung vorbereiteter Anweisungen zur Verbesserung der Abfragesicherheit und -leistung kann es schwierig sein, den „like“-Platzhalter effektiv zu integrieren.

Lösung mit PreparedStatement

Um das „like“ zu verwenden " Platzhalterzeichen in einer vorbereiteten Anweisung verwenden, ändern Sie die SQL-Zeichenfolge selbst nicht. Legen Sie stattdessen „keyword%“ innerhalb des Werts fest, den Sie in der Anweisung festgelegt haben. Hier erfahren Sie, wie Sie dies für verschiedene Suchvorgänge tun Typen:

  1. Präfix-Match:

    // Replace escape characters to prevent conflict with wildcard
    notes = notes
     .replace("!", "!!")
     .replace("%", "!%")
     .replace("_", "!_")
     .replace("[", "![");
    PreparedStatement pstmt = con.prepareStatement(
         "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
    pstmt.setString(1, notes + "%");
  2. Suffix-Match:

    pstmt.setString(1, "%" + notes);
  3. Global Übereinstimmung:

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

Durch Festlegen des „Schlüsselworts %“ im Wert, der der vorbereiteten Anweisung zugewiesen ist, können Sie Wildcard-Suchen effizient durchführen, ohne die Abfragesicherheit oder -leistung zu beeinträchtigen.

Das obige ist der detaillierte Inhalt vonWie verwende ich den „Gefällt mir'-Platzhalter in vorbereiteten Aussagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn