แบบสอบถามฟัซซี่
การใช้สปริงข้อมูล JPA สามารถลดการเขียนคำสั่ง SQL ของนักพัฒนาซอฟต์แวร์และแม้กระทั่งไม่จำเป็นต้องเขียนคำสั่ง SQL เลย อย่างไรก็ตามในระหว่างกระบวนการพัฒนาจะมีสถานการณ์ที่ซับซ้อนและข้อผิดพลาดทุกขนาดอยู่เสมอ
โมดูลการทำงานในโครงการวันนี้ต้องใช้การสืบค้นฟัซซี่ คำหลักคิวรีฟัซซี่ 'Like' ใน SQL ดั้งเดิมและอินเทอร์เฟซที่เก็บข้อมูลของสปริงข้อมูลของ JPA ก็มีลักษณะที่สอดคล้องกับฟิลด์เอนทิตี แต่ถ้าคุณใช้มันโดยตรงแสดงความยินดีคุณโชคดีที่มีข้อผิดพลาด
สปริงข้อมูล jpa fuzzy query การใช้งานที่ถูกต้อง
ก่อนอื่นเราสร้างเอนทิตีเพื่อจัดเก็บข้อมูลของเรา
/** * เอนทิตี * * @author chentai * @date 18/04/22 */ @data @entity @equalsandHashCode (callyUper = true) ตัวอย่างคลาสสาธารณะ {@id @generatedValue (generator = "uuid" ชื่อผู้ใช้สตริงส่วนตัว; สตริงส่วนตัว devicenames;}ถัดไปสร้างอินเทอร์เฟซที่เก็บที่สอดคล้องกับเอนทิตีของเรา
/** * @author chentai * @date 18/04/22 */ @repositorypublic อินเตอร์เฟส examplerepository ขยาย crudrepository <ตัวอย่าง, สตริง> {/** * การใช้งานที่ถูกต้อง @Param ชื่อผู้ใช้ชื่อผู้ใช้ชื่อผู้ใช้ * @return {@link list <exampleentity>} */ list <ตัวอย่าง> findallbyDevicenamescontainingandusername (String Devicenames, String username); / *** การใช้ข้อผิดพลาดของการสืบค้นฟัซซี่* ที่ชื่อผู้ใช้ไม่รองรับการสืบค้นฟัซซี่, Devicenames รองรับการสืบค้นฟัซซี่** @param Devicenames Fuzzy Query Devicenames* @param ชื่อผู้ใช้ชื่อผู้ใช้* @return ชื่อ Devicenames, ชื่อผู้ใช้สตริง); - ในที่สุดเราทดสอบสองวิธีในการทดสอบในคลาสทดสอบ (ผลการทดสอบจะไม่ปรากฏขึ้นในขณะนี้) และพบว่าวิธีการค้นหา BindAlbyDevicenamesLikeAndusername ไม่ได้ทำการสืบค้นผลลัพธ์ที่เราต้องการอย่างถูกต้องและผลลัพธ์ที่ได้คือผลลัพธ์ของการสืบค้นที่แน่นอน และ FindAllbyDevicenamescontainingandusername ได้รับผลจากการสืบค้นฟัซซี่ที่เราต้องการ
สรุป
หากคุณต้องการใช้การสืบค้นฟัซซี่โดยไม่ต้องเขียนคำสั่ง SQL Native ในโครงการของคุณโปรดใช้คำหลักที่มีอยู่แทนที่จะใช้เพื่อให้ได้รับการใช้คำหลักเช่นคำหลัก เช่นเดียวกับคำหลักยังใช้ใน JPA
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น