JPA如何使用findBy方法自定义查询
更新时间:2021年11月25日 11:20:11 作者:Brid_Success
这篇文章主要介绍了JPA如何使用findBy方法自定义查询,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
JPA使用findBy方法自定义查询
最近在项目中使用spring boot+jpa的方式来访问数据库,例如:本项目中的课程目录详情表中包括了外键课程详情ID,想通过课程详情ID查找出所有关联的课程目录详情
在JPA中使用findBy方法自定义查询

在postman测试请求的接口如下

这样就很方便的查询所需要的数据,不用再写接口去过滤了。
JPA的findBy语法整理
前提操作
- 创建一个可持久化的实体类
- dao层继承JpaRepository<T,ID>
T:实体类
ID:实体类的主键类型
例:
public interface SysUserRespository extends JpaRepository<SysUser,Long> {}
JPA中支持的关键词
And:等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(String user, Striang pwd);Or:等价于 SQL 中的 or 关键字,比如 findByUsernameOrAddress(String user, String addr);Between:等价于 SQL 中的 between 关键字,比如 findBySalaryBetween(int max, int min);LessThan:等价于 SQL 中的 "<",比如 findBySalaryLessThan(int max);GreaterThan:等价于 SQL 中的">",比如 findBySalaryGreaterThan(int min);IsNull:等价于 SQL 中的 "is null",比如 findByUsernameIsNull();IsNotNull:等价于 SQL 中的 "is not null",比如 findByUsernameIsNotNull();NotNull:与 IsNotNull 等价;Like:等价于 SQL 中的 "like",比如 findByUsernameLike(String user);NotLike:等价于 SQL 中的 "not like",比如 findByUsernameNotLike(String user);OrderBy:等价于 SQL 中的 "order by",比如 findByUsernameOrderBySalaryAsc(String user);Not:等价于 SQL 中的 "! =",比如 findByUsernameNot(String user);In:等价于 SQL 中的 "in",比如 findByUsernameIn(Collection<String> userList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;NotIn:等价于 SQL 中的 "not in",比如 findByUsernameNotIn(Collection<String> userList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring框架JdbcTemplate数据库事务管理完全注解方式
这篇文章主要介绍了Spring框架JdbcTemplate数据库事务管理及完全注解方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-05-05
springBoot 启动指定配置文件环境多种方案(最新推荐)
springBoot 启动指定配置文件环境理论上是有多种方案的,一般都是结合我们的实际业务选择不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、启动jar包时指定等方案,今天我们一一分享一下,需要的朋友可以参考下2023-09-09
Springboot引入hibernate配置自动建表并进行增删改查操作
这篇文章主要介绍了Springboot引入hibernate配置自动建表并进行增删改查,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-09-09
Springboot中spring-boot-starter-quartz的使用及说明
这篇文章主要介绍了Springboot中spring-boot-starter-quartz的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12


最新评论