Mybatis-plus 分页 自定义count方法

这篇具有很好参考价值的文章主要介绍了Mybatis-plus 分页 自定义count方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

起因

  • 使用了mybatisplus
  • 语句中有order by 语法
  • mybatisplus会使用 select count(*) from (子语句) TOTAL 算出total
  • 但是会报错
    • 查询条件QueryWrapper中还有order by排序条件,则生成的select count(*) from(sql) 就会报错
      除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

解决方案

自定义count语句

在mapper.xml中定义一个count方法

这个地方一定要设置返回类型是Integer ,不然不报错,也不出来数据

<select id="queryList_COUNT" resultType="java.lang.Integer">
        select count(*) from(原语句) TOTAL
</select>

在page中设置count的方法

Page<WarnShift> entityPage = PageUtils.buildPage();
entityPage.setCountId("queryList_COUNT");
Page<WarnShift> warnShiftPage = this.baseMapper.queryList(entityPage, entity);

这样就既实现了排序,又不会报错文章来源地址https://www.toymoban.com/news/detail-856603.html

到了这里,关于Mybatis-plus 分页 自定义count方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Mybatis-plus 两种分页方法(分单表和联表)

    Mybatis-plus 两种分页方法(分单表和联表)

    准备1:引入PageHelper依赖 准备2:新建表格分页数据对象 准备3:分页数据类 准备4:分页工具类 准备5:响应请求分页数据的方法 正式使用 1、如果只是单表查询,可以用QueryWrapper controller层 在service层新增接口以及实现类的方法 2、或者自定义SQL要多表查询,可以自己写方法联

    2024年02月05日
    浏览(14)
  • mybatis plus 分页查询出现count()

    出现问题现象 使用mybatisplus分页时候count语句出错,控制台打印的sql为### The error may involve defaultParameterMap, The error occurred while setting parameters 查看打印的sql 不知道为啥不是count(*)而是count()导致分页报错 出现问题的原因和解决办法

    2024年02月15日
    浏览(10)
  • mybatis-plus分页total为0,分页失效,mybatis-plus多租户插件使用

    背景:项目使用mybatis分页插件不生效,以及多租户使用时读取配置异常 多租户插件使用遇到的问题: 最开始在MyTenantLineHandler中使用 @Value(\\\"${tables}\\\"),服务启动时能从配置中心拉取到配置,但在运行时获取到的值为空,试了很多方法都不生效,后面将配置中心的配置在调用My

    2024年02月06日
    浏览(11)
  • MyBatis与MyBatis-Plus的分页以及转换

    MyBatis和MyBatis-Plus都是Java持久化框架,用于简化数据库访问和操作。它们提供了面向对象的方式来管理关系型数据库中的数据。 MyBatis 是一个轻量级的持久化框架,通过XML或注解配置,将SQL语句与Java对象进行映射,使开发者可以使用简单的API来执行数据库操作。MyBatis支持动态

    2024年02月11日
    浏览(9)
  • Mybatis-Plus手动分页

     TableDataInfo  serviceImpl.selectPageQueryUserList

    2024年02月11日
    浏览(11)
  • mybatis-plus分页方式

    mybatis-plus分页方式

    概述 MyBatisPlus中提供的(自带的)分页插件,非常简单,只需要简单的配置就可以实现分页功能。 详细步骤: 第一步::config.MybatisPlusConfig.java:配置类,配置mybatisplus的插件功能。 第二步:验证(测试): 官网介绍: IXxxService.java: XxxServiceImpl.java: XxxController.java 业务(

    2024年02月16日
    浏览(10)
  • MyBatis-Plus 分页设置不生效

    MyBatis-Plus 分页设置不生效

    在配置类上加拦截器 2.当你设置了数据源需要在数据源上添加拦截器

    2024年02月15日
    浏览(9)
  • mybatis-plus实现分页查询

    mybatis-plus实现分页查询

    分页查询使用的方法是: IPage:用来构建分页查询条件 Wrapper:用来构建条件查询的条件,目前我们没有可直接传为Null IPage:返回值,你会发现构建分页条件和方法的返回值都是IPage IPage是一个接口,我们需要找到它的实现类来构建它,具体的实现类,可以进入到IPage类中按ctrl+

    2023年04月08日
    浏览(10)
  • Mybatis-Plus学习4 Page分页

    Mybatis-Plus学习4 Page分页

    ctrl + P = 查看可填的属性类型  alt + 回车 = 自动填充数据类型 1、使用Page分页需要先配置config类,加上拦截器 type-aliasys-package配置pojo对象别名对应的包 自定义的Mapper的page查询: 乐观锁 和 悲观锁 悲观锁: 悲观锁的思想是,在操作数据之前,先假设其他并发操作会对数据进行

    2024年02月12日
    浏览(7)
  • MyBatis-Plus Page 分页不生效

    一、问题现象 使用 MyBatis-Plus 进行分页查询时,传入了 pageNum 和 pageSize,但是查询结果没有按照预期的效果返回。 二、问题原因 没有对 Mybatis-Puls 进行初始化,需要添加相应的配置类。 三、解决方案 在项目工程中创建 config 目录,在其中新建配置类 MyBatisPlusConfig.java 。 注意

    2024年02月12日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包