21 方法命名规则查询

Posted zhaochengf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21 方法命名规则查询相关的知识,希望对你有一定的参考价值。

方法命名规则查询

顾名思义,方法命名规则查询就是根据方法的名字,就能创建查询。只需要按照Spring Data JPA提供的方法命名规则定义方法的名称,就可以完成查询工作。Spring Data JPA在程序执行的时候会根据方法名称进行解析,并自动生成查询语句进行查询

按照Spring Data JPA 定义的规则,查询方法以findBy开头,涉及条件查询时,条件的属性用条件关键字连接,要注意的是:条件属性首字母需大写。框架在进行方法名解析时,会先把方法名多余的前缀截取掉,然后对剩下部分进行解析。

//方法命名方式查询(根据客户名称查询客户)
public Customer findByCName(String cName);

具体的关键字,使用方法和生产成SQL如下表所下

关键字 例子   JPQL
And findByLastnameAndFirstname …  where x.lastname = ?1 and x.firstname = ?2
Or findByLastnameOrFirstname …  where x.lastname = ?1 or x.firstname = ?2
Is,Equals findByFirstnameIs,findByFirstnameEquals …  where x.firstname = ?1
Between findByStartDateBetween …  where x.startDate between ?1 and ?2
LessThan findByAgeLessThan …  where x.age < ?1
LessThanEqual findByAgeLessThanEqual …  where x.age <= ?1
GreaterThan findByAgeGreaterThan …  where x.age > ?1
GreaterThanEqual findByAgeGreaterThanEqual …  where x.age >= ?1
After findByStartDateAfter …  where x.startDate > ?1
Before findByStartDateBefore …  where x.startDate < ?1
IsNull findByAgeIsNull …  where x.age is null
IsNotNull,NotNull findByAge(Is)NotNull …  where x.age is not null
Like findByFirstnameLike …  where x.firstname like ?1
NotLike findByFirstnameNotLike …  where x.firstname not like ?1
     

以上是关于21 方法命名规则查询的主要内容,如果未能解决你的问题,请参考以下文章

JPA:方法命名规则

Kubernetes_21_查询所有命名空间下的所有资源(kubectl查询操作)

Kubernetes_21_查询所有命名空间下的所有资源(kubectl查询操作)

MyBatis查询mysql数据返回null

在JAVA中类中方法的命名规则?

对Java方法方法重载的理解