Rumah >Java >javaTutorial >Bagaimana untuk Menggunakan Kad Liar 'Suka' dalam Penyata yang Disediakan?

Bagaimana untuk Menggunakan Kad Liar 'Suka' dalam Penyata yang Disediakan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-19 14:13:021034semak imbas

How to Use the

Menggunakan Kad Liar "suka" dalam Penyata Disediakan

Memahami Isu

Dalam pertanyaan pangkalan data , kad bebas "suka" biasanya digunakan untuk mencari data berdasarkan corak kata kunci. Apabila menggunakan pernyataan yang disediakan untuk meningkatkan keselamatan dan prestasi pertanyaan, mungkin sukar untuk memasukkan kad liar "suka" dengan berkesan.

Penyelesaian Menggunakan PreparedStatement

Untuk menggunakan "suka" " wildcard dalam kenyataan yang disediakan, anda tidak mengubah suai rentetan SQL itu sendiri. Sebaliknya, tetapkan "kata kunci%" dalam nilai yang anda tetapkan dalam penyata. Begini cara melakukannya untuk jenis carian yang berbeza:

  1. Padanan Awalan:

    // 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. Padanan Akhiran:

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

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

Dengan menetapkan " keyword%" dalam nilai yang diberikan kepada pernyataan yang disediakan, anda boleh melakukan carian kad bebas dengan cekap tanpa menjejaskan keselamatan atau prestasi pertanyaan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Kad Liar 'Suka' dalam Penyata yang Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn