Spring Data JPA 条件查询的关键字

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

时间: 2024-08-26 12:13:46

Spring Data JPA 条件查询的关键字的相关文章

【Spring Data 系列学习】Spring Data JPA 基础查询

[Spring Data 系列学习]Spring Data JPA 基础查询 前面的章节简单讲解了 了解 Spring Data JPA . Jpa 和 Hibernate,本章节开始通过案例上手 Spring boot Jpa . spring data Spring Data 库的核心接口是 Repository.首先需要定义实体类的接口,接口必须继承 repository 并且输入实体类型和 ID 类型,如果需要用到 CRUD 方法,可以使用 CrudRepository 来替代 Repo

【Spring Data 系列学习】Spring Data JPA 自定义查询,分页,排序,条件查询

Spring Boot Jpa 默认提供 CURD 的方法等方法,在日常中往往时无法满足我们业务的要求,本章节通过自定义简单查询案例进行讲解. 快速上手 项目中的pom.xml.application.properties与 Chapter1 相同 实体类映射数据库表 user 实体类 @Entity public class User implements Serializable { private static final long serialVersionUID = -39076354

Spring Data JPA 简单查询

一.常用规则速查 1  And 并且2  Or  或3  Is,Equals 等于4  Between  两者之间5  LessThan 小于6  LessThanEqual   小于等于7  GreaterThan 大于8  GreaterThanEqual  大于等于9  After 之后(时间) >10 Before 之前(时间) <11 IsNull 等于Null12 IsNotNull,NotNull 不等于Null13 Like 模糊查询.查询件中需要自己加 %14 NotLike

Spring Data JPA动态查询(多条件and)

entity: @Entity @Table(name = "data_illustration") public class Test { @Id @GenericGenerator(name = "uuid", strategy = "org.hibernate.id.UUIDGenerator") @GeneratedValue(generator = "uuid") private String id; @Column

Spring Data Jpa 复杂查询总结 (多表关联 以及 自定义分页 )

实体类 @Entity @Table(name = "t_hotel") @Data public class THotel { @Id private int id; private String name; private String address; /** * 城市id */ private String city; } @Entity @Table(name = "t_city") @Data public class TCity { @Id priva

Spring Data JPA 实例查询

一.相关接口方法 在继承JpaRepository接口后,自动拥有了按"实例"进行查询的诸多方法.这些方法主要在两个接口中定义,一是QueryByExampleExecutor,一个是JpaRepository,如下所示: public interface QueryByExampleExecutor<T> { <S extends T> S findOne(Example<S> example); //根据"实例"查找一个对象.

Spring data jpa模糊查询,根据某一个字段,或者多个字段进行模糊查询

这里分别列举里三种情况: 1.一个字段的模糊查询 2.一个字段模糊查询和一个字段不支持模糊查询 3.两个以上的字段支持模糊查询 刚开始,使用like发现并不起作用,后来经同事帮忙,才改成的Containing关键字:     public List<Nodes> findByIpContaining(String ip, Pageable pageable);     public List<Nodes> findByIpContainingAndStatus(String ip,

spring data jpa 分页查询

法一(本地sql查询,注意表名啥的都用数据库中的名称) public interface UserRepository extends JpaRepository<User, Long> { @Query(value = "SELECT * FROM USERS WHERE LASTNAME = ?1", countQuery = "SELECT count(*) FROM USERS WHERE LASTNAME = ?1", nativeQuery

Spring data jpa Specification查询关于日期的范围搜索

代码: 时间格式化类型: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdfmat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { if (StringUtils.isNotEmpty(startTime) && StringUtils.isNotEmpty(endTime)) { pr