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:需要排序的字段

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • centOs使用yum安装nginx「建议收藏」

    centOs使用yum安装nginx「建议收藏」1.安装nginxyuminstallnginx2.找到配置文件find/-namenginx.conf3.添加配置vinginx.conf4.基本命令nginx#启动nginx-sstop#停止nginxnginx-sreload#重启nginxnginx-c/etc/nginx/nginx.conf#使用指定配置文件启动nginxnginx-t#检测配置文件是否有错误nginx-v#查看版本信息..

  • Vue-cli3 项目在安卓低版本系统和 IE 上白屏问题解决

    Vue-cli3 项目在安卓低版本系统和 IE 上白屏问题解决

  • c语言解析json字符串(json对象转化为字符串)

    如题,根据json字符串的难易程度

  • python标识符号_python标识符的组成元素

    python标识符号_python标识符的组成元素在Python里,标识符由字母、数字、下划线组成,但不能以数字开头。#Python中标识符区分大小写。#以下划线开头的标识符有特殊意义,以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用fromxxximport*而导入。##以双下划线开头的__foo代表类的私有成员,以双下划线开头和结尾的__foo__代表Python里特殊方法专用的标识,如__init__()代表类的构造函数。##Python可以同一行显示多.

  • java 堆栈的声明_Java 堆栈[通俗易懂]

    java 堆栈的声明_Java 堆栈[通俗易懂]Java堆栈堆栈是一种线性数据结构,用于存储对象的集合。它基于先进先出(LIFO)。Java集合框架提供了许多接口和类来存储对象的集合。其中之一是Stack类,它提供了不同的操作,例如推,弹出,搜索等。在本节中,我们将讨论JavaStack类,其方法和实现在Java中的堆栈数据结构程序。但是在转到JavaStack类之前,请先快速了解堆栈的工作原理。堆栈数据结构具有两个最重要的操作,分别…

  • java工厂模式_java工厂模式

    java工厂模式_java工厂模式java工厂模式分三种:简单工厂模式、工厂方法模式、抽象工厂模式。简单工厂模式(SimpleFactoryPattern)属于类的创新型模式,又叫静态工厂方法模式(StaticFactoryMethodPattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式就是通过一个”全能类”,根据外界传递的信息来决定创建哪个具体类的对象。如下图(懒得…

发表回复

您的电子邮箱地址不会被公开。

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