表person對(duì)應(yīng)的model類:
@Entity
@Table(name = "person")
public class Person {
@Id
@GeneratedValue
private Long id;
private Integer age;
private String name;
@Column(name = "nick_name")
private String nickName;
private String company;
private Date birthday;
// getter and setter
}
數(shù)據(jù)庫(kù)訪問(wèn)PersonRepository類:public interface PersonRepository extends JpaRepository<Person, Long>, JpaSpecificationExecutor<Person> {
}
查詢年齡在18到25之間,生日日期在某個(gè)區(qū)間的人。
public List<Person> findAll(SearchRequest request) {
Specification<Person> specification = new Specifications<Person>()
.between(Objects.nonNull(request.getAge(), "age", new Range<>(18, 25))
.between("birthday", new Range<>(new Date(), new Date()))
.build();
return personRepository.findAll(specification);
}
更多建議: