单表的查询并根据时间分页

1、yml或者properties中配数据源,配自己的数据库就好。

mybatis-plus:mapper-locations: ../mapper/*.xmlconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  //这个是为了在控制台打印SQL语句。

2、导入Mybatis-Plus的依赖,我这里使用的是3.4.0的版本,这里一定要注意依赖的版本号,3.4.0以后,分页插件的配置进行了更新。这里强调一下,如果自带分页插件失效,先检查版本和配置。

        <!--MyBatis-plus配置--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency>

3、新建一个config,这个config写Mybatis-Plus的插件配置,MP的插件配置有很多,这里单说一下分页的配置。

/***    注意@MapperScan,使用springboot的话,启动类是要扫描数据层的,如果仅用的是MP对数据    *    库操作,启动类里面的@MapperScan是不用写的,只写这里就好。**/@Configuration
@MapperScan("com.tiktang.dao")
public class MybatisPlusConfig {/*** IPage的分页使用的是拦截器,属于物理分页,好处就是处理大量数据时,查询速度快。*    有兴趣的同学可以看看什么是物理分页和逻辑分页。* @return*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();//向Mybatis过滤器链中添加分页拦截器interceptor.addInnerInterceptor(new            PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}@Beanpublic ConfigurationCustomizer configurationCustomizer() {return configuration -> configuration.setUseDeprecatedExecutor(false);}
}

4、单表的实体类entity对象,自己数据库中的字段,此步进行了省略。

5、程序的步骤,我一般习惯先写Mapper.xml,Mapper,service,serviceImpl,controller。按这个步骤来说,首先要先写的是Mapper.xml,但是是单表操作,又是用MP框架,就不用再写Mapper.xml了。

6、Mapper

//News为实体类
@Repository
public interface NewsMapper extends BaseMapper<News> {}

7、service

//News为实体,page为当前页,pageSize是一页多少个
public interface NewsService {IPage<News> queryNewsList(Integer page, Integer pageSize);
}

8、serviceImpl

@Service
public class NewsServiceImpl implements NewsService {@Autowiredprivate NewsMapper newsMapper;@Overridepublic IPage<News> queryNewsList(Integer page, Integer pageSize) {
//      Page<News> page1 = new Page<>(page,pageSize);//这里进行了时间排序QueryWrapper<News> queryWrapper = new QueryWrapper<>();queryWrapper.orderByDesc("news_time");//MP自带的selectPage方法,有兴趣的同学,可以看一下源码IPage<News> iPage = newsMapper.selectPage(new Page<>(page, pageSize), queryWrapper);return iPage;}}

9、controller

    @GetMapping("/newsList")public Result<News> queryNewsList(@RequestParam Integer page,@RequestParam Integer pageSize){IPage<News> iPage = newsService.queryNewsList(page, pageSize);return Result.ok().data("iPage",iPage);}

Result是我自己封装的结果集,有时间会再写一下关于返回统一结果集的内容。

到此单表查询分页并根据时间排序就完成。

2⃣️:

    @GetMapping("/getCompanyInvest")public Result getCompanyInvest(@RequestParam String companyId,@RequestParam Integer currentPage,@RequestParam Integer pageNumber){QueryWrapper<CompanyInvest> queryWrapper = new QueryWrapper<>();queryWrapper.eq("company_id",companyId);Page<CompanyInvest> page = new Page<>(currentPage,pageNumber);IPage<CompanyInvest> companyInvestIPage = companyInvestMapper.selectPage(page,queryWrapper);Map<String,Object> map = new HashMap<>();map.put("公司投资信息的子页面",companyInvestIPage);return Result.ok().data(map);}

MyBatis-plus的IPage分页相关推荐

  1. rowbounds分页oracle,Oracle使用MyBatis中RowBounds实现分页查询功能

    Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便. 使用MyBatis中的RowBounds进行 ...

  2. spring boot整合mybatis+通用mapper+pagehelper分页插件

    spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...

  3. Springboot集成mybatis通用Mapper与分页插件PageHelper

    Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...

  4. Spring Boot mybatis HashMap +layui 通用分页

    背景: mybatis 常用数据查询的方法都是先建实体类,再建Mapper,最后写Service,如果只是单纯的去查询数据显示,这样操作太麻烦.本文就以mybatis +layui创建通用分页类,简化 ...

  5. MyBatis使用PageHelper排序分页

    文章目录 MyBatis使用PageHelper排序分页 前言 排序分页 使用PageHelper排序分页 添加PageHelper Spring Boot依赖 新增一个列表查询的方法 使用PageH ...

  6. 关于mybatis的逆向工程中分页配置

    关于mybatis的逆向工程中分页配置 因为在使用PageHelper插件的时候出现了异常的问题,所以考虑在数据库查询的时候直接进行分页操作,也就是在配置中添加limit,首先把我遇到的分页问题描述一 ...

  7. Java IPage分页 加自定义sql

    Java IPage分页 加自定义sql 引入依赖 User实体类 controller service impl impl常规操作 impl自定义参数重写Sql 直接在impl 中写好 Sql 当作 ...

  8. Feign远程调用-IPage分页返回对象-序列化错误

    当使用Feign调用服务IPage分页接口时,会出现序列化异常. 解决方式如下: 添加配置文件IPageDeserializer,WebDataConvertConfig public class I ...

  9. PageHelper与MyBatisPlus IPage分页插件的使用区别

    IPage分页插件 ①Mapper 定义分页查询接口,入参及返回值需要有IPage类型 IPage<PatientInfo> getPatientPage(IPage<Patient ...

  10. Mybatis 是如何进行分页的?分页插件的原理是什么?

    Mybatis 是如何进行分页的?分页插件的原理是什么? Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内存分页,而非物理分页.可以在 sql 内直 ...

最新文章

  1. 程序员假冒AI,印度公司竟骗取2亿元投资
  2. 人大附中「内卷」到了美国?华裔家长抗议中国学生持F1签证抢占美国IMO名额...
  3. 【2556】传说中的数据结构 sdutOJ
  4. Windows 下配置Apache+MySql+PHP环境(原创)
  5. 【C++】Visual Studio教程(十) - 初步了解 Visual Studio IDE
  6. 数列分段II(信息学奥赛一本通-T1436)
  7. Mr.J-- jQuery学习笔记(二十九)--属性操作方法(获取属性判断)
  8. 机器视觉产品技术市场需求日益增长
  9. c语言有理数均值思路,5-35 有理数均值 (20分)
  10. x^2+y^2=2ax
  11. 光纤跳线的类型和区别?
  12. 禁止网页 切屏 切换标签
  13. php 中文 验证码,php 验证码 支持中文验证码
  14. 机器学习入门的书单(数据挖掘、模式识别等一样)转
  15. 购物商城系统设计与实现总结_商品列表展示页的实现
  16. 如何两台电脑共享文件?
  17. 计算机看到硬盘是空白状态,为你解决win7系统磁盘管理显示空白无法使用的处理方法...
  18. softether 穿越防火墙原理
  19. JS--JavaScript使用鼠标事件(click、dblclick、mousedown、mouseout、mouseover、mouseup、mousemove)
  20. 如何用python制作温度计模拟器 python项目小发明 【安安教具】-【物理】-【温度计】模拟器

热门文章

  1. 前向传播与反向传播的理解
  2. 8款超酷的HTML5 3D图片动画源码
  3. 请回答c语言-初识c语言(上)【入门】
  4. java导出富文本为pdf
  5. 关于建立公司内部交流分享活动的一点尝试
  6. 独立显卡和集成显卡的区别
  7. 亚马逊跨境卖家选品的主要参考方向—Amazon新手选品指导
  8. android打开文件方法
  9. 2017二级java考试时间_2017年全国计算机二级考试科目
  10. MUSH中的Database