Heim  >  Artikel  >  Feder und bearbeitbares „WHERE“ @Query

Feder und bearbeitbares „WHERE“ @Query

王林
王林nach vorne
2024-02-08 21:30:121184Durchsuche

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);

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);

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen