MyBatis-plus的IPage分页

MyBatis-plus的IPage分页单表的查询并根据时间分页 1 yml 或者 properties 中配数据源 配自己的数据库就好 mybatis plus mapper locations mapper xmlconfigura log impl org apache ibatis logging stdout StdOutImpl 这个是为了在控制台打印 SQL 语句 2 导入 Mybatis Plus 的依赖 我这里使用的是 3 4 0 的版本 这里一定要注意依赖的版本号 3 4 0 以后

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

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

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

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

 
   
   
   
     com.baomidou 
    
   
     mybatis-plus-boot-starter 
    
   
     3.4.0 
    
  

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

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

7、service

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

8、serviceImpl

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

9、controller

 @GetMapping("/newsList") public Result 
  
    queryNewsList(@RequestParam Integer page, @RequestParam Integer pageSize){ IPage 
   
     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 
  
    queryWrapper = new QueryWrapper<>(); queryWrapper.eq("company_id",companyId); Page 
   
     page = new Page<>(currentPage,pageNumber); IPage 
    
      companyInvestIPage = companyInvestMapper.selectPage(page,queryWrapper); Map 
     
       map = new HashMap<>(); map.put("公司投资信息的子页面",companyInvestIPage); return Result.ok().data(map); } 
      
     
    
  

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

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

(0)
上一篇 2026年3月17日 下午2:45
下一篇 2026年3月17日 下午2:45


相关推荐

  • title的中文_上什么下仿

    title的中文_上什么下仿VeryCD主页上的标题上总有一句名言,且是每次刷新变换的,看了一下代码,是用Math.floor(Math.random()*n.length);来实现的,verycd代码中源引的文件是:http://www.verycd.com/statics/title.saying但我所使用的是Windowsserver主机,所以要引用的是js文件,我的代码在这里:http://www.lidec

    2022年8月10日
    10
  • 企业微信如何制定社群sop

    企业微信如何制定社群sop什么是社群运营SOP?即标准作业程序。而社群运营SOP指的是社群运营工作的标准化,从拉新、促活到社群留存转化,都有一套标准的操作流程。社群运营工作有很多共性。企业制定社群运营SOP,将会大大提高工作效率,节省时间和人力成本。现在,越来越多企业通过企业微信进行社群运营。那么企业微信社群运营SOP应该如何制定呢?企业微信如何制定社群运营SOP?对于企业微信社群运营来说,做到定时定量,从而培养用户习惯是非常重要的。企业微信可以帮助企业员工进行客户群发、客户群群发,减少运营人员的工作量,用户一天仅可

    2022年5月26日
    40
  • dubbo系列(一)「建议收藏」

    dubbo系列(一)「建议收藏」dubbo系列(一)

    2022年4月20日
    49
  • 安装epel源

    安装epel源转自 http laibulai iteye com blog 来自余洪春老师 构建高可用 linux 服务器 nbsp 简单记录一下 加强记忆 nbsp 安装 epel 源的好处就是 epel 这个项目是由 fedora 维护的 在维护的这个源中包含许多软件 包括 ntop nagios 之类的 也就是说 你安装了 epel 源就可以直接用 yuminstallnt 来安

    2026年3月18日
    2
  • laravel中将session由文件保存改为数据库保存

    laravel中将session由文件保存改为数据库保存

    2021年10月22日
    45
  • C++11新特性之线程操作

    C++11之前没有对并发编程提供语言级别的支持,这使得我们在编写可移植的并发程序时,存在诸多的不便。现在C++11增加了线程以及线程相关的类,很方便地支持了并发编程,使得编写的多线程程序的可移植性得到

    2021年12月28日
    44

发表回复

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

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