mybatis 分页查询避免两次查询同时返回总数和数据

mybatis 分页查询避免两次查询同时返回总数和数据分页查询一般分成两次查询一次查总数一次查列表,下面这种写法可以一次返回sql<resultMapid=”queryOrderListResultMap”type=”要返回数据的类型”></resultMap><resultMaptype=”Long”id=”queryOrderListCount”autoMappin…

大家好,又见面了,我是你们的朋友全栈君。

分页查询一般分成两次查询一次查总数一次查列表,下面这种写法可以一次返回

sql

    
 <resultMap id="queryOrderListResultMap" type="要返回数据的类型">
    </resultMap>
    <resultMap type="Long" id="queryOrderListCount" autoMapping="true"/>
    <select id="queryOrderList" resultMap="queryOrderListResultMap,queryOrderListCount">
         select sql_calc_found_rows
        *from 表名
        where 1=1
        limit ${(req.pageNo - 1) * req.pageSize},#{req.pageSize};
        SELECT found_rows() as queryOrderListCount;
    </select>

注:resultMap id 不要重复

dao层

  List<List<?>> queryOrderList(@Param("req")QueryOrderListReq req)

service

 List<List<?>> pageList = OrderMapper.queryOrderList(req);
        List<OrderPo> OrderPo= ( List<OrderPo>) pageList.get(0);
        QueryOrderListRes res = new QueryOrderListRes().setOrderPo(OrderPo).setTotalCount((Long) pageList.get(1).get(0));

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ios软件_iOS倒计时

    ios软件_iOS倒计时GitHub:https://github.com/remember17/CountdownTimer全局倒计时工具,可以维护任意多个倒计时当APP从后台进入前台的时候,倒计时不受影响,会根据时间线继续。使用方法: 把CountdownTimer.swift文件拖进项目 在CountdownTimer.swift的枚举CountDownKey中添加定时器 每个枚…

    2025年12月4日
    5
  • 【推荐】mysql联合 索引(复合索引)的探讨

    【推荐】mysql联合 索引(复合索引)的探讨 Mysql联合索引(复合索引)的使用原则 命名规则:表名_字段名需要加索引的字段,要在where条件中。 数据量少的字段不需要加索引。最窄的字段放在键的左边。 如果where条件中是OR关系,必须所有的or条件都必须是独立索引,否则加索引不起作用。见:mysql关于or的索引问题 最左匹配原则。 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL…

    2022年5月18日
    60
  • protractor量角器软件_flashback啥意思

    protractor量角器软件_flashback啥意思官网地址:http://www.protractortest.org/1.预备环境protractor是一个Node.js程序,为了运行protractor,你首先需要Node环境。你还应该检查一下Node的版本,它应该在v0.10.0以上。node–versionNode中附带了npm包管理工具,通过npm可以下载和安…

    2025年8月20日
    4
  • cglib动态代理实现原理_jdk cglib 动态代理 区别

    cglib动态代理实现原理_jdk cglib 动态代理 区别cglib动态代理详解我们都知道jdk的动态代理内部调用切面无效的问题,而cglib则不会出现这种情况,这是为什么?cglib就一定不会出现内部调用切面无效的问题吗?cglib针对每一个类只创建了一个代理类吗?为什么cglib的效率要比jdk的动态代理低呢?首先我们看一下通常我们是如何使用cglib增强一个类的publicclassMain{staticclassTest{publicvoidtest(){System.out.pr

    2022年10月21日
    3
  • linux环境安装mariadb,linux环境下安装Mariadb

    linux环境安装mariadb,linux环境下安装Mariadb一、下载安装mariadb是属于mysql的一个分支,是其创始人在mysql被卖给oracle之后重新分出来的,maria取自于他女儿的名字。mariadb完全兼容于mysql,在很多新版本的linux系统中,mysql都已经被替换成了mariadb。mariadb的官网:mariadb官网,下载地址:下载地址。最新稳定版本的下载直链为:wgethttps://downloads.mariadb…

    2022年6月8日
    207
  • SQL分页查询方案的性能对比[通俗易懂]

    SQL分页查询方案的性能对比[通俗易懂]作者|中国农业银行吴海存责编|晋兆雨头图|CSDN下载自视觉中国导读本文主要介绍了基于ROWNUM、主键列/非空唯一性列、分析函数、OFFSET-FETCHNEXT机制的…

    2022年6月26日
    24

发表回复

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

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