Fuzzy -Abfrage
Die Verwendung von Frühlingsdaten JPA kann das Schreiben von SQL -Anweisungen durch die Entwickler verringern und müssen sogar SQL -Anweisungen überhaupt nicht schreiben. Während des Entwicklungsprozesses wird es jedoch immer verschiedene komplexe Szenarien und Fallstricke aller Größen geben.
Für ein funktionales Modul im heutigen Projekt ist eine Fuzzy -Abfrage erforderlich. Das Fuzzy Query -Keyword "Like" in nativem SQL und die Repository -Schnittstelle von Spring Data JPA entspricht ebenfalls den Entitätsfeldern. Aber wenn Sie es direkt verwenden, dann herzlichen Glückwunsch, Sie hatten das Glück, einen Fall zu haben.
Federdaten JPA Fuzzy Query Richtige Nutzung
Zunächst erstellen wir ein Unternehmen, um unsere Daten zu speichern
/** * Entity * * @Author chentai * @date 18/04/22 */ @data @entity @EqualsandHashCode (Calluper = true) public class BeispielEntity {@ID @generatedValue (generator = "uUid") @genericgenerator (name = "uuid", Strategy = "uuid") private String -Id; privater String -Benutzername; private String Devizenamen;}Erstellen Sie als nächstes die Repository -Schnittstelle, die unserer Entität entspricht
/** * @Author Chentai * @date 18/04/22 */ @repositoryPublic -Schnittstelle explodierePository erweitert Crudrepository <BeispielEntity, String> {/** * Richtige Verwendung von Fuzzy Query *, wobei die Benutzername Fuzzy Query Devizens Fuzzy Query unterstützt. @param userername username username * @return {@link list <beispiels>} */ list <BeispielEntity> findAllByDeVicenamesContainingandususername (String devizeNames, String Benutzername); / *** Fehlerverbrauch von Fuzzy Query* wobei der Benutzername keine Fuzzy -Abfrage unterstützt, DeviceNames unterstützt Fuzzy -Abfrage** @param devizeNames fuzzy query devicenams DeviceName, String Benutzername); } Schließlich haben wir in der Testklasse zwei Methoden im BeispielPlerePository getestet (die Testergebnisse werden vorerst nicht angezeigt) und stellten fest, dass die Methode für findAlbydevicenamesLikeAndusername das gewünschte Ergebnis nicht korrekt abfragt hat, und das Ergebnis ist das Ergebnis der genauen Abfrage. Und findAllByDevicenamescontainingandusername erhält das Ergebnis der Fuzzy -Abfrage, die wir wollen.
Zusammenfassen
Wenn Sie Fuzzy -Abfragen verwenden möchten, ohne in Ihrem Projekt SQL -Anweisungen zu schreiben, verwenden Sie das enthaltende Schlüsselwort, anstatt es als selbstverständlich zu betrachten, dass wie Keywords nativ verwendet werden. Wie Schlüsselwörter werden auch in JPA verwendet.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.