欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JPA如何使用findBy方法自定义查询

程序员文章站 2022-03-12 13:18:37
目录jpa使用findby方法自定义查询在jpa中使用findby方法自定义查询在postman测试请求的接口如下jpa的findby语法整理前提操作jpa中支持的关键词jpa使用findby方法自定...

jpa使用findby方法自定义查询

最近在项目中使用spring boot+jpa的方式来访问数据库,例如:本项目中的课程目录详情表中包括了外键课程详情id,想通过课程详情id查找出所有关联的课程目录详情

在jpa中使用findby方法自定义查询

JPA如何使用findBy方法自定义查询

在postman测试请求的接口如下

JPA如何使用findBy方法自定义查询

这样就很方便的查询所需要的数据,不用再写接口去过滤了。

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 类型,也可以是数组或者不定长参数;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关标签: JPA findBy 查询