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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

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

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