1.1.  Dao接口继承PagingAndSortingRepository接口


PersonDao.java
package com.morris.dao.inter;import org.springframework.data.repository.PagingAndSortingRepository;import com.morris.entity.Person;public interface PersonDao extends PagingAndSortingRepository<Person, Integer>{}

1.2.  使用PagingAndSortingRepository接口的方法

1.2.1.  新增

public void save(Person person) {personDao.save(person);}

1.2.2.  删除

public void delete(Person person) {personDao.delete(person);}public void delete(Integer id) {personDao.delete(id);}

1.2.3.  修改

public void update(Person person) {personDao.save(person); }

1.2.4.  查询

public Person findById(Integer id) {Person person = personDao.findOne(id);return person;}public Iterable<Person> findAll() {Iterable<Person> persons = personDao.findAll();return persons;}

1.2.5.  分页查询

public Iterable<Person> findAll(Pageable pageable) {Page<Person> persons = personDao.findAll(pageable);return persons;}

其中Pageable是一个接口,具体的实现类为PageRequest,下面为PageRequest的一个构造方法

public PageRequest(int page, int size){this(page, size, null);}

只需要指定分页时页数和每页的大小即可.

1.3.  源代码


IPersonService
package com.morris.service.inter;
import org.springframework.data.domain.Pageable;
import com.morris.entity.Person;public interface IPersonService {void save(Person person);void delete(Person person);void delete(Integer id);void update(Person person);Person findById(Integer id);Iterable<Person> findAll();Iterable<Person> findAll(Pageable pageable);
}

PersonServiceImpl.java
package com.morris.service.impl;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;import com.morris.dao.inter.PersonDao;
import com.morris.entity.Person;
import com.morris.service.inter.IPersonService;@Service("personService")
public class PersonServiceImpl implements IPersonService {@Autowiredprivate PersonDao personDao;public void save(Person person) {personDao.save(person);}public void delete(Person person) {personDao.delete(person);}public void delete(Integer id) {personDao.delete(id);}public void update(Person person) {personDao.save(person); }public Person findById(Integer id) {Person person = personDao.findOne(id);return person;}public Iterable<Person> findAll() {Iterable<Person> persons = personDao.findAll();return persons;}public Iterable<Person> findAll(Pageable pageable) {Page<Person> persons = personDao.findAll(pageable);return persons;}}

jpa之PagingAndSortingRepository带分页查询相关推荐

  1. Spring Data Jpa多表联合分页查询

    参考:https://blog.csdn.net/qq_36144258/article/details/80298354 近期一个项目用到Spring Data Jpa,Jpa用来做单表查询非常的简 ...

  2. Spring Boot笔记-JPA中自定义@Query分页查询

    如下事例代码: @Repository public interface XXXXXRepository extends JpaRepository<XXXYYY, XXXYYYPK> { ...

  3. Spring JPA自定义SQL分页查询

    JPA自定义SQL分页查询 [存在的问题] 在使用Spring JPA原生SQL进行分页查询时存在如下问题: 1.使用List转Page工具类导致查询速度较慢,原因在于先把所有数据查询出来返回成Lis ...

  4. vue+node多条件查询 分页_SpringBoot+JPA框架分页、带条件查询等操作

    前言 最近研究JPA框架,初学SpringBoot时也简单学过,但是不是很深入,所以这次主要是说一些进阶且常用.实用的操作! 前置准备 创建两张表或者让JPA自动建表,任意选择!学生表 package ...

  5. SpringData JPA条件查询、排序、分页查询

    前言 在刚开始学习的时候,在dao的定义的接口需要继承JpaRepository<T, ID>接口和JpaSpecificationExecutor< T >接口,但是一直以来 ...

  6. spring data jpa 分页查询

    法一(本地sql查询,注意表名啥的都用数据库中的名称,适用于特定数据库的查询) public interface UserRepository extends JpaRepository<Use ...

  7. Spring Data JPA分页查询

    使用Spring Data JPA的朋友,在实际工作中经常需要用到分页查询.下面介绍一个简单的分页查询的例子:查询学生信息,每页10行数据,并按成绩排序.先看数据表: 实现:repo需要继承Pagin ...

  8. SpringBoot学习之旅(七)---JPA进阶篇之自定义查询、修改、分页

    文章目录 前言 源码下载 其他文章 查询关键字 自定义Select和Update 分页及自定义分页 自定义分页 分页查询的业务代码 前言 前一节SpringBoot学习之旅(六)-JPA操作MySql ...

  9. [JAVA EE] JPA 查询用法:自定义查询,分页查询

    项目已上传:https://codechina.csdn.net/qq_36286039/javaee 自定义查询 问题:内置的crud功能不满足需求时如何添加自定义查询? 几种自定义查询方法 方法命 ...

最新文章

  1. 在AD环境中限定用户登录到指定的计算机
  2. LeetCode 403 Frog Jump 青蛙过河 Javascirpt 解决方案
  3. 【算法】快速选择算法 ( 数组中找第 K 大元素 )
  4. R与量化(part1)--量化概述
  5. 高等数学上-赵立军-北京大学出版社-题解-练习5.5
  6. 历史重现,德国海关突袭IFA大展
  7. java buqi_Java 异常
  8. phpredis 报错 “Function Redis::setTimeout() is deprecated” 解决方法
  9. 阿里巴巴与小毛驴的故事——贪心算法
  10. oracle日期如何比较,Oracle日期比较
  11. 30行Python代码 刷王者荣耀金币
  12. 戴尔笔记本电脑光驱装固态,并设置为系统盘教程
  13. linux tao环境 安装_菜鸟Linux 编译TAO2.0a的问题,求高手指导
  14. [VulnStack] ATTCK实战系列—红队实战(二)
  15. Matplotlib保存图片到文件
  16. java中计算三角形的角度
  17. 两种方法设置Word文档的“只读模式”
  18. 社会责任·价值共创,中关村网络安全与信息化产业联盟对话网信企业家海泰方圆董事长姜海舟
  19. MySQL—自定义函数
  20. MySQL(3):可视化数据库管理工具

热门文章

  1. 2.建一个新目录/oldboy的硬链接数是多少?(考试题答案系列)
  2. .NET项目是否有必要升级到.NET 3.5 + VS 2008
  3. ERP技术的新方向——智能客户端
  4. android listview左滑删除
  5. JS(本身是)单线程和UI线程同步(互斥)
  6. Android清单AndroidManifest详细说明
  7. Java并发编程—为什么wait/notify操作要先获取到锁?
  8. Django连接postgresql数据库
  9. Effective Modern C++:06lambda表达式
  10. HDU-4417 Super Mario