mybatis如何实现分页

993
2024/2/7 9:12:10
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

MyBatis可以通过RowBounds对象来实现分页查询。

首先,在Mapper接口中定义一个方法,方法的参数中包含RowBounds对象和其他查询条件参数。方法返回值是一个List对象。

List<User> getUsersByPage(RowBounds rowBounds, @Param("param1") String param1, @Param("param2") String param2);

然后,在Mapper的XML文件中编写对应的SQL语句,使用LIMIT关键字来实现分页查询。LIMIT关键字用于限制查询结果的行数,第一个参数是查询结果的偏移量,第二个参数是每页的记录数。

<select id="getUsersByPage" resultType="User">
    SELECT * FROM users
    WHERE param1 = #{param1} AND param2 = #{param2}
    LIMIT #{offset}, #{limit}
</select>

最后,在Java代码中调用Mapper接口的方法,传入RowBounds对象和其他查询条件参数,即可实现分页查询。

int pageNum = 1; // 当前页码
int pageSize = 10; // 每页记录数
int offset = (pageNum - 1) * pageSize; // 计算偏移量
RowBounds rowBounds = new RowBounds(offset, pageSize);
List<User> users = userMapper.getUsersByPage(rowBounds, param1, param2);

上述代码中,pageNum表示当前页码,pageSize表示每页的记录数,offset表示查询结果的偏移量,根据这些信息可以计算出RowBounds对象的参数。然后,调用Mapper接口的方法进行分页查询,得到分页结果users

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: MyBatis和Hibernate有什么区别