Selama pengembangan proyek, ketika melakukan kueri dinamis mybatis, saya mengalami masalah: ketika MySQL melakukan seperti kueri fuzzy, hasilnya dapat diambil secara normal dengan memasuki bahasa Inggris, tetapi hasilnya yang diperoleh dengan memasuki bahasa Cina kosong.
Karena diminta menggunakan GET, untuk memastikan bahwa orang Cina tidak kacau, bahasa Cina dikodekan sekali setelah konsol menerima parameter permintaan.
coba {realname = string baru (realname.getbytes ("gbk"), "utf-8");} catch (uncupportedencodingException Exception) {logger.Error ("RealName Kesalahan Terjadi Saat Melakukan UTF-8 Encoding," + Exception.ToString ();}Pemetaan SQL Dinamis Mybatis, SQL spesifik adalah sebagai berikut:
Pertama, gunakan kueri fuzzy untuk mengambil bahasa Inggris. Mulailah proyek, masukkan "tes" bahasa Inggris, dan hasil yang diperoleh dengan mencari sesuai dengan konten bahasa Inggris adalah sebagai berikut:
Kita dapat melihat bahwa SQL dieksekusi secara normal. Menggunakan "tes" untuk mengambil 2 hasil, isi bidang yang sesuai dalam database adalah uji Zhang San San dan Zhang San. Biasanya, jika kita memasuki "zhang" Cina, kita juga dapat menanyakan dua data ini. Mari kita coba menggunakan kueri fuzzy untuk mengambil Cina. Mulailah proyek, masukkan "Zhang" Cina, dan hasil pencarian adalah sebagai berikut:
Kita dapat melihat bahwa hasil yang diambil di sini adalah 0 catatan, dan konten Cina dari kondisi tidak kacau, yang berbeda dari yang diharapkan. Menyalin pernyataan SQL yang sama ke SQlyog dapat menghasilkan hasil yang normal.
Tidak ada masalah seperti itu saat menggunakan SQLServer. Ini terjadi kali ini menggunakan MySQL. Diduga bahwa isi konfigurasi SQLServer dan MySQL berbeda ketika MyBatis mengonfigurasi lingkungan sumber data. Setelah perbandingan yang cermat dan tinjauan online dari konten yang relevan, saya menemukan bahwa ketika MySQL mencari orang Cina, saya perlu menambahkan parameter UseUnicode = true & characterencoding = UTF-8 setelah JDBCURL untuk menentukan format penyandian.
URL Lengkap:
JDBC: mysql: //127.0.0.1: 3306/fanyl_web? UseUnicode = true & characterencoding = UTF-8
Setelah memodifikasi JDBCURL MySQL, mulailah proyek dan terus memasuki "Zhang" Cina. Hasil pencarian adalah sebagai berikut:
Sebanyak 3 hasil diambil. Pada titik ini, masalah yang tidak dapat dicari oleh Mybatis saat menggunakan MySQL untuk melakukan kueri fuzzy diselesaikan.
Selain itu, beberapa deskripsi parameter umum di JDBCURL MySQL:
Di atas adalah apa yang saya perkenalkan kepada Anda. Apa yang harus saya lakukan jika saya tidak dapat mencari hasil saat menggunakan mybatis untuk menggunakan kueri fuzzy mysql? Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!