比如有个实体类对象,类名为Book,对应数据表的表名为book

1. 一个使用@Query注解的简单例子:占位符?1和?2

@Query(value = "select name,author,price from Book b where b.price>?1 and b.price<?2")
List<Book> findByPriceRange(long price1, long price2);

2.  Like表达式:指定参数 :name,下面要用@Param("name")指明对应的参数

@Query(value = "select name,author,price from Book b where b.name like %:name%")
List<Book> findByNameMatch(@Param("name") String name);

3. 使用Native SQL Query

所谓本地查询,就是使用原生的sql语句,直接查询数据表名,而不是实体类对象(根据数据库的不同,在sql的语法或结构方面可能有所区别)进行查询数据库的操作。

@Query(value = "select * from book b where b.name=?1", nativeQuery = true)
List<Book> findByName(String name);

4. 使用@Param注解注入参数

@Query(value = "select name,author,price from Book b where b.name = :name AND b.author=:author AND b.price=:price")
List<Book> findByNamedParam(@Param("name") String name, @Param("author") String author,@Param("price") long price);

5. SPEL表达式( 特别说明:本条可能有误,待验证,不使用#{#entityName},直接使用表名是ok的 )

此处的 '#{#entityName}'值为'Book'对象对应的数据表名称(book)。

public interface BookQueryRepositoryExample extends Repository<Book, Long>{

@Query(value = "select * from #{#entityName} b where b.name=?1", nativeQuery = true)
       List<Book> findByName(String name);

}

参考:

http://www.cnblogs.com/zj0208/p/6008627.html

最新文章

  1. 将asp.net core站点发布到IIS上遇到的问题
  2. 《Entity Framework 6 Recipes》中文翻译系列 (8) -----第二章 实体数据建模基础之继承关系映射TPT
  3. C# Process.Start()方法详解
  4. 【转】编译Lua5.3.0的iOS静态库
  5. C#创建datatable
  6. Mergely – 免费的在线文档对比和合并工具
  7. WinForm程序安装、发布流程
  8. mysql 语句大全
  9. 静态编译Qt5.4.1和Qt WebKit(网事如风的blog)good
  10. [Cocos2d-x]节点的生命周期
  11. Javascript闭包的一些研究
  12. 【编程范式】C语言1
  13. mysql用户权限配置
  14. asp.net core 发布到iis session无法传递的问题
  15. tensorflow 1.0 学习:模型的保存与恢复(Saver)
  16. NAP(Network Access Protection)
  17. JQuery Mobile - 动态修改select选择框的选中项
  18. 【LOJ】#2270. 「SDOI2017」天才黑客
  19. ES6之数组操作
  20. Nunit常用的方法说明

热门文章

  1. ubuntu启动google_chrome报错:FATAL:nss_util.cc(632)] NSS_VersionCheck(&quot;3.26&quot;) failed. NSS &gt;= 3.26 is required. Please upgrade to the latest NSS
  2. 【第二十三章】 springboot + 全局异常处理
  3. java进制转换代码
  4. SQL 事务(Transaction)
  5. JS post 数组道后台
  6. 音视频学习系列第(三)篇---wav文件的存储和解析
  7. Java 集合-集合介绍
  8. Linux系统基本常识
  9. Android发展历程
  10. Android之ToolBar的使用