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));

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 中级面试题_java中级面试题[通俗易懂]

    java 中级面试题_java中级面试题[通俗易懂]本帖最后由唯我独赞mo于2015-11-1222:47编辑1、java中wait和sleep有什么区别?多线程条件下如何保证数据安全?答:最大区别是等待时wait会释放锁,而sleep会一直持有锁,wait通常用于线程时交互,sleep通常被用于暂停执行。2、java中volatile和synchronized有什么区别?1.volatile本质是在告诉jvm当前变量在寄存器(工作内存…

    2022年10月12日
  • goland 激活2021【2021.10最新】

    (goland 激活2021)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • 【云原生&微服务二】SpringCloud之Ribbon自定义负载均衡策略(含Ribbon核心API)「建议收藏」

    【云原生&微服务二】SpringCloud之Ribbon自定义负载均衡策略(含Ribbon核心API)「建议收藏」1、SpringCloud之Ribbon自定义负载均衡策略,2、SpringCloud之Ribbon自定义服务实例心跳检查策略,3、ILoadBalancer、IRule、IPing介绍

    2022年10月13日
  • cJSON 使用详解

    cJSON 使用详解由于c语言中,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json。如果有对应的数据结构就方便一些,如python中用json.loads(json)就把json字符串转变为内建的数据结构处理起来比较方便。一个重要概念:在cjson中,json对象可以是json,可以是字符串,可以是数字。。。cjson数据结构定义:#d…

  • MD编辑器设置字体、颜色、大小

    MD编辑器设置字体、颜色、大小颜色:浅红色文字:浅红色文字:深红色文字:深红色文字浅绿色文字:浅绿色文字深绿色文字:深绿色文字浅蓝色文字:浅蓝色文字深蓝色文字:深蓝色文字浅黄色文字:浅黄色文字深黄色文字:深黄色文字浅青色文字:浅青色文字深青色文字:深青色文字浅紫色文字:浅紫色文字深紫色文字:深紫色文字大小:size为1:size为1size为2:size为2size为3:size为3size为4:size为4size为10:size为10字体:我是黑体字我是宋体字我是微软雅黑字我是fanta

  • python导入tensorflow方法_python导入包

    python导入tensorflow方法_python导入包若是你也遇到这个问题,说明你也没有理解tensorflow到底在哪里。当安装了anaconda3.6后,在PyCharm中设置interpreter,这个解释器决定了你在PyCharm环境中写的代码采用什么方式去执行。若是你的设置是anaconda下的python.exe。就会发现在PyCharm中写入importtensorflwoastf时,就会报错,提示没有tensorflow模块,…

发表回复

您的电子邮箱地址不会被公开。

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