SpringBoot——spring-data-jpa之分页查询

SpringBoot——spring-data-jpa之分页查询SpringBoot——spring-data-jpa之分页查询

大家好,又见面了,我是你们的朋友全栈君。

service代码

 package com.youyou.address.service;

import com.youyou.address.dao.ContacterDao;
import com.youyou.address.dao.ContacterEORepo;
import com.youyou.address.entity.ContacterEO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class ContacterService {

    @Autowired
    private ContacterDao dao;

    @Autowired
    private ContacterEORepo contacterEORepo;

    public void insertOne(ContacterEO contacterEO) {
        dao.insertOne(contacterEO);
    }

    public List<ContacterEO> findAll() {
        return dao.findAll();
    }

    /**
     * 保存联系人
     *
     * @param contacterEO
     */
    public void saveOne(ContacterEO contacterEO) {
        contacterEORepo.save(contacterEO);
    }

    /**
     * 分页查询
     * @param page
     * @return
     */
    public Page<ContacterEO> findByPage(PageRequest page) {
        Page<ContacterEO> all = contacterEORepo.findAll(page );
        return all;
    }

}

controller代码如下:

 package com.youyou.address.controller;

import com.youyou.address.entity.ContacterEO;
import com.youyou.address.service.ContacterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api(description = "联系人接口")
@RestController
@RequestMapping(value = "/contacter")
public class ContacterController {

    @Autowired
    private ContacterService service;

    @ApiOperation(value = "新增")
    @GetMapping("/add")
    public ContacterEO add(ContacterEO contacterEO) {
        System.out.println("添加一个联系人");

        service.saveOne(contacterEO);

        return contacterEO;
    }

    @ApiOperation(value = "查询所有")
    @GetMapping("/findAll")
    public List<ContacterEO> findAll() {
        return service.findAll();
    }

    @ApiOperation(value = "分页查询")
    @GetMapping("/findByPage")
    public Page<ContacterEO> findByPage(int pageNo, int size ,Sort.Direction direction) {
        PageRequest page = PageRequest.of(pageNo, size, Sort.by(direction, "name"));
        return service.findByPage(page);
    }

}

核心代码就是

 PageRequest page = PageRequest.of(pageNo, size, Sort.by(direction, "name"));

pageNo:页码(从0开始)

size:每页条数

direction:排序标识,即ASC或DESC

name:需要排序的字段

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106463.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用GDB调试程序(一)

    用GDB调试程序(一)

    2021年12月5日
    59
  • Cloudsim_java源码大全

    Cloudsim_java源码大全CloudSim介绍和使用1.CloudSim简介:2.CloudSim提供了以下新的特点:(1)支持大型云计算的基础设施的建模与仿真;(2)一个自足的支持数据中心、服务代理人、调度和分配策略的平台。(3)CloudSim独特功能有:3.CloudSim源代码介绍几个核心类:4.CloudSim下载,CloudSim在IDEA中配置5.CloudSim环境配置6.CloudSim的扩展7.使用CloudSim仿真的一般步骤1.CloudSim简介:2009年4月8日,澳大利亚墨尔本

    2022年10月13日
    4
  • 暂时和永久改动oracle sysdate的默认输出格式

    暂时和永久改动oracle sysdate的默认输出格式

    2021年12月5日
    71
  • Rpc接口测试_Python接口测试

    Rpc接口测试_Python接口测试本发明涉及RPC(RemoteProcedureCallProtocol,远程过程调用协议,通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议)接口测试领域,具体涉及一种RPC接口测试方法及系统。背景技术:接口测试(对系统组件间接口进行测试)主要用于检测外部系统与系统(包括各个子系统)之间的交互点,接口测试重点为检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系…

    2022年10月13日
    3
  • 1941设置站点模板,一生珍藏,所有玩具

    1941设置站点模板,一生珍藏,所有玩具

    2022年1月6日
    42
  • zookeeper入门教程_dubbo和Zookeeper详解

    zookeeper入门教程_dubbo和Zookeeper详解zookeeperwatcher架构zookeeper 配置中心分布式ID分布式锁集群搭建数据一致性协议:zab协议Zookeeper Leader选举Observer角色及其配置watcher架构客户端首先将Watcher注册到服务器,同时将Watch对象保存到客户端的Watch管理器中。当Zookeeper服务器监听到的数据发生变化时,服务器会通知客户端,接着客户端的Watch管理器会触发相关的Watcher来回调响应处理逻辑,从而完成整体的数据发布/订阅流程。javaAPIJava

    2022年8月8日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号