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