springboot使用jpa的详细讲解(2)

本次主要说一下jpa提供的查询方式:

1、JPA原生的简单语法

jpa根据fang方法名自动生成sql7语句。主要语法为:

  • 查询:以findBy开头,后面跟上属性名。例:findByName 或者findByNameAndId
  • 删除:以deleteBy开头,后面跟上属性名
  • 新增修改:统一使用save
  • 统计:countBy开头,后面跟上属性

其他常用的关键字如下图

2、原生分页查询

jpa提供了findAll(Pageable pageable)

Pageable pageable = PageRequest.of(1,2);
Page<User> users = userRepository.findAll(pageable);
List<User> userList = users.getContent();

当然如果我们需要进行有条件的分页查询,语法参照原生的语法,参数多加一个Pageable 就行

Page<User> findByName(String name, Pageable pageable);

或者加上关键字:
Page<User> findByNameNot(String name, Pageable pageable);

对参数Pageable对象,我们可以指定页数,每页条数,以及排序方式等

Pageable是一个接口,它的实现duix对象是PageRequest,如下图:

在 PageRequest类中提供了三个构造方法

可以直接new一个PageRequest对象,也可以调用of()静态方法, 方法中可以传page(当前页数),size(每页条数)以及Sort排序信息或者可以不用Sort,直接定义排序顺序Direction.ASC或Direction.DESC,然后后面跟上要排序的字段,可以是一个或多个

如果使用Sort,可以new一个Sort对象,如下:

Sort sort = new Sort(Sort.Direction.DESC,"age");

注: 这里page是从0开始的

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值