Maison  >  Article  >  Printemps et modifiable "OÙ" @Query

Printemps et modifiable "OÙ" @Query

王林
王林avant
2024-02-08 21:30:121184parcourir

L'éditeur PHP Xigua vous présentera une fonctionnalité puissante dans le @Query "WHERE" modifiable par le framework Spring. Le framework Spring est l'un des frameworks les plus populaires dans le développement Java, et l'annotation @Query est un moyen de définir des requêtes personnalisées fournies par Spring Data JPA. Dans le développement réel, nous avons souvent besoin de construire dynamiquement des instructions de requête SQL basées sur différentes conditions, et le @Query modifiable "WHERE" est né pour cela. En utilisant cette annotation, nous pouvons générer dynamiquement des clauses WHERE dans les méthodes de requête selon les besoins pour obtenir des opérations de requête plus flexibles et plus efficaces. Ensuite, nous détaillerons comment utiliser la @Query modifiable « WHERE » pour optimiser notre fonctionnalité de requête.

Contenu de la question

Est-il même possible de créer quelque chose comme ça ?

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

Et remplacez "Colonnes" par les colonnes que je veux. userRepository.getVale("Nom","Mike");

De cette façon, 1 requête peut être utilisée pour plus d'options

Solution de contournement

Utilisation de mybatis Vous pouvez le faire

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

Soyez conscient ${column} du risque d'injection SQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer