Maison > Java > Printemps et modifiable 'OÙ' @Query

Printemps et modifiable 'OÙ' @Query

王林
Libérer: 2024-02-08 21:30:12
avant
1270 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal