JPA查询的使用
- 创建一个接口,实现JpaRepository<T,R>接口。T是操作的实体,R是操作的实体的主键的类型
查询所有数据
1 | findAll() |
分页
PageRequest.of构造Pageable分页对象:
- pageNumber:页码
- size:每页条数
- Sort:排序对象,有多个重载方法,descending为倒叙排序
findAll方法可以接收一个分页对象Pageable进行查询,查询结果返回Page
1 | public Page<Spu> getLatestPagingSpu(Integer pageNumber, Integer size) { |
Page
1 | public class Paging<T> { |
有时候返回前端的是“简化版”的vo,比如JPA返回的分页对象Page
1 | /** |
高级查询
原生SQL查询
设置nativeQuery=true,使用原生的sql查询
1 | true,value = "select coupon.* from coupon inner join coupon_category on coupon.id = coupon_category.coupon_id inner join category on coupon_category.category_id = category.id") (nativeQuery = |
JPQL
使用实体代替数据表,参数通过“:参数名”的格式传递。
如果配置配置导航属性,需要使用ON写连接条件。
注意,必须使用别名。
1 | "select c from Coupon c\n" + (value = |
生成的sql语句:
1 | select |