使用JPA实现分页功能需要以下步骤:

一、配置分页属性
在application.properties文件中添加以下配置,指定默认的分页属性:

<pre class="line-numbers language-properties"><code class="  language-properties">
#分页属性
spring.data.web.pageable.default-page-size=10
spring.data.web.pageable.max-page-size=100
spring.data.web.pageable.one-indexed-parameters=false
spring.data.web.pageable.prefix=page
spring.data.web.pageable.qualifier-delimiter=_

#排序属性
spring.data.web.sort.sort-parameter=sort
spring.data.web.sort.sort-property=
spring.data.web.sort.sort-default-direction=desc
spring.data.web.sort.one-indexed-parameters=false
spring.data.web.sort.page-parameter=page
spring.data.web.sort.size-parameter=size

二、创建分页查询接口
定义一个继承于JpaRepository的接口,可以通过该接口直接进行分页查询,并且支持排序功能。例如:

<pre class="line-numbers language-java"><code class="  language-java">
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.example.demo.entity.User;

@Repository
public interface UserRepository extends JpaRepository {
    Page findAll(Pageable pageable);
}

三、调用分页查询接口
在需要分页查询的地方注入UserRepository,并调用findAll方法进行分页查询。例如:

<pre class="line-numbers language-java"><code class="  language-java">
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;

import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public Page getUsers(int page, int size) {
        Pageable pageable = PageRequest.of(page, size);
        return userRepository.findAll(pageable);
    }
}

四、使用分页查询结果
调用getUsers方法获取到分页查询结果后,可以通过以下方式使用分页结果:

1. 获取数据列表:

<pre class="line-numbers language-java"><code class="  language-java">
Page page = userService.getUsers(0, 10);
List userList = page.getContent();

2. 获取总记录数:

<pre class="line-numbers language-java"><code class="  language-java">
Page page = userService.getUsers(0, 10);
long totalElements = page.getTotalElements();

3. 获取总页数:

<pre class="line-numbers language-java"><code class="  language-java">
Page page = userService.getUsers(0, 10);
int totalPages = page.getTotalPages();

通过以上步骤,就可以在Spring Boot中利用JPA实现分页功能了。