静态查询
extends JpaRepository<Stu,Integer>
动态查询
extends JpaSpecificationExecutor<Stu>
@Repository
public interface StuDao extends JpaRepository<Stu,Integer>, JpaSpecificationExecutor<Stu> {
}
JpaSpec的详情
public interface JpaSpecificationExecutor<T> {
T findOne(Specification<T> var1);
List<T> findAll(Specification<T> var1);
Page<T> findAll(Specification<T> var1, Pageable var2);
List<T> findAll(Specification<T> var1, Sort var2);
long count(S
Specification<T>接口详情
public interface Specification<T> {
Predicate toPredicate(Root<T> var1, CriteriaQuery<?> var2, CriteriaBuilder var3);
}
代码
@Autowired
StuDao stuDao;
@Test
public void spec() {
Specification<Stu> stuSpecification = new Specification<Stu>() {
@Override
public Predicate toPredicate(Root<Stu> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
Predicate p1 = criteriaBuilder.equal(root.get("name"),"小明");
Predicate p2 = criteriaBuilder.equal(root.get("msg"),"信息");
Predicate p3 = criteriaBuilder.and(p1,p2);
return p3;
}
};
//动态查询
stuDao.findOne(stuSpecification);
}