Heim > Java > Feder und bearbeitbares „WHERE' @Query

Feder und bearbeitbares „WHERE' @Query

王林
Freigeben: 2024-02-08 21:30:12
nach vorne
1249 Leute haben es durchsucht

Der PHP-Editor Xigua stellt Ihnen eine leistungsstarke Funktion im bearbeitbaren Spring-Framework „WHERE“ @Query vor. Das Spring-Framework ist eines der beliebtesten Frameworks in der Java-Entwicklung, und die @Query-Annotation ist eine Möglichkeit zum Definieren benutzerdefinierter Abfragen, die von Spring Data JPA bereitgestellt werden. In der tatsächlichen Entwicklung müssen wir häufig SQL-Abfrageanweisungen basierend auf unterschiedlichen Bedingungen dynamisch erstellen. Dafür wurde die bearbeitbare „WHERE“-@Query entwickelt. Mithilfe dieser Annotation können wir bei Bedarf dynamisch WHERE-Klauseln in Abfragemethoden generieren, um flexiblere und effizientere Abfragevorgänge zu erreichen. Als Nächstes erfahren Sie, wie Sie mit der bearbeitbaren „WHERE“-@Query unsere Abfragefunktionalität optimieren.

Frageninhalt

Ist es überhaupt möglich, so etwas zu erstellen?

@Query(value = """
            SELECT Name
            FROM Users
            WHERE :column = :value
                   """, nativeQuery = true)
    List<Users> getValue(@Param("column") String column, @Param("value") String name);
Nach dem Login kopieren

Und ändern Sie „Spalten“ in die Spalten, die ich möchte. userRepository.getVale("Name","Mike");

Auf diese Weise kann 1 Abfrage für weitere Optionen verwendet werden

Problemumgehung

Mit mybatis können Sie dies tun

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

@Select("select * from table where ${column} = #{value}")
List<Users> selectUsersByColumnValue(@Param("column")String column, @Param("value")String value);
Nach dem Login kopieren

Seien Sie sich des ${column}Risikos einer SQL-Injection bewusst

Das obige ist der detaillierte Inhalt vonFeder und bearbeitbares „WHERE' @Query. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage