导出查询Spring数据JPA法

Spring数据JPA存储器使用导出查询法,而不是写自题

简单jpa查询时,我们通常使用Query注解查询,但最佳做法表示,我们应该使用衍生查询法取而代之多数开发商几乎不使用一或二导出查询方法,如查找ById并查找All检验下方 :

  1. 取出查询方法结构

导出方法有两个主要部分除以Byword关键字 :

链表
          
           查找ByName
          

第一部分-查找介绍者其余-ByName即标准可按模型属性制定自己的标准,例如查找ByAge 查找ByEmail.等

Spring数据JPA支持多位导师查找、阅读、查询、计数并获取所以,我们可以做计数ByAge并计算出有这个年龄的用户

上下或异类清除复制物

链表 findTop3ByAge(), 并按年限获取前三位用户列表, 是不是很棒?

  1. 平等条件关键字

或等值可读性

链表
          
           findByNameIs(String名称);
          链表
          
           查找ByNameEquals(String名称);
          

需要表达不平等时

链表
          
           查找ByNameIsnot
          

使用IsNull关键字添加NULL标准查询

链表
          
           findByNameIsNull();
          链表
          
           findByNameIsNotNull();
          

并用真假关键字添加布尔式平等条件

链表
          
           findByActiveTrue();
          链表
          
           findByActiveFalse();
          
  1. 相似性条件关键词

查找带值启动项使用StartWone

链表
          
           findByNameStartingWith(String prefix);
          

if we want带值端项时,我们可以使用EndingWith

链表
          
           findByNameEndingWith(String suffix);
          

内含值项

链表
          
           findByNameContaining(String infix);
          

  1. 比较条件关键字

LessThan、LessThanEqual、GreaterThan和GreaterThanEqual关键字比较记录获取数据,例如

链表
          
           findBySalaryLessThan(Integer salary);
          链表
          
           findBySalaryLessThanEqual(Integer salary);
          链表
          
           findBySalaryGreaterThan(Integer salary);
          链表
          
           findBySalaryGreaterThanEqual(Integer salary);
          

更令人振奋的是,我们可以用介于关键字之间的两个参数查找条目,例如:

用户介于双薪间

链表
          
           查找BySalaryBetween
          

日期和时间,我们可以使用前后关键字:

链表
          
           findByBirthDateAfter(DateTime birthDate);
          链表
          
           findByBirthDateBefore(DateTime birthDate);
          

  1. 多重条件表达式

最神奇的事情在这里,我们可以组合多表达式使用和或关键字取取:

链表
          
           findByNameOrSalary(String名称,整数薪资);
          链表
          
           findByNameAndEmail
          链表
          
           yEmailOrBirthDateOrSalive
          

并用表达方式

  1. 排序数据 :

可使用命令By关键字排序数据

链表
          
           findByNameOrderByName(String name);
          链表
          
           findByNameOrderByNameAsc(String name);
          链表
          
           findByNameOrderByNameDesc(String name);
          

留答题