Rumah > Java > Musim bunga dan boleh diedit 'WHERE' @Query

Musim bunga dan boleh diedit 'WHERE' @Query

王林
Lepaskan: 2024-02-08 21:30:12
ke hadapan
1270 orang telah melayarinya

Editor PHP Xigua akan memperkenalkan kepada anda ciri hebat dalam rangka kerja Spring yang boleh diedit "WHERE" @Query. Rangka kerja Spring ialah salah satu rangka kerja yang paling popular dalam pembangunan Java, dan anotasi @Query ialah cara untuk menentukan pertanyaan tersuai yang disediakan oleh Spring Data JPA. Dalam pembangunan sebenar, kita selalunya perlu membina pernyataan pertanyaan SQL secara dinamik berdasarkan syarat yang berbeza, dan "WHERE" @Query yang boleh diedit dilahirkan untuk ini. Dengan menggunakan anotasi ini, kami boleh menjana klausa WHERE secara dinamik dalam kaedah pertanyaan mengikut keperluan untuk mencapai operasi pertanyaan yang lebih fleksibel dan cekap. Seterusnya, kami akan memperincikan cara menggunakan "WHERE" @Query yang boleh diedit untuk mengoptimumkan fungsi pertanyaan kami.

Kandungan soalan

Adakah mungkin untuk mencipta sesuatu seperti ini?

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

Dan tukar "Lajur" kepada lajur yang saya mahu. userRepository.getVale("Nama","Mike");

Cara ini 1 pertanyaan boleh digunakan untuk lebih banyak pilihan

Penyelesaian

Menggunakan mybatis Anda boleh melakukan ini

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);
Salin selepas log masuk

Berhati-hati dengan ${column} risiko suntikan SQL

Atas ialah kandungan terperinci Musim bunga dan boleh diedit 'WHERE' @Query. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan