mybatis带上总数量的分页查询

假设数据库我用limit去查询,但是想要获取实体类和表中的总数量时,可以用到此方法
直接上代码举例

Mapper层

/**
* list.get(0)是具体数据(这个数据也可以是一个List)
* list.get(1)是表中的总数量
*/
List<Object> selectUserByUserId(Integer userId);

xml层

	<!--  总数量  -->
	<resultMap type="java.lang.Integer" id="count">
        <result column="count"/>
    </resultMap>
    <!--  实体类映射  -->
    <resultMap type="com.cure.cure.entity.User" id="user">
        <id column="id" property="id"/>
        <result column="username" property="username"/>
        <result column="password" property="password"/>
    </resultMap>
    <!--  实体类需要映射进resultMap  -->
    <select id="selectUserByUserId" resultMap="user,count" >
        select SQL_CALC_FOUND_ROWS * from cure_user limit 0,1 ;
        SELECT FOUND_ROWS() AS count;
    </select>

测试一下

这里可以自行测试,我用的springboot的test

@SpringBootTest
class CureApplicationTests {
    @Resource
    private UserMapper userMapper;
    @Test
    void testCount(){
        List<Object> list=userMapper.selectUserByUserId(1);
        for (Object o : list) {
            System.out.println(o);
        }
    }
}

测试结果:成功

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐