MyBatis-Plus 允许你使用自定义的 SQL 语句来实现分页。可以使用 com.baomidou.mybatisplus.extension.plugins.pagination.Page
对象来实现分页,这个对象需要在 SQL 语句执行之前创建。你需要给这个对象传递当前页数和每页的记录数。
你可以在 Mapper 接口的方法中使用如下代码来创建 Page
对象:
Page<T> page = new Page<>(current, size);
然后你就可以在 Mapper.xml 文件中编写自定义的分页 SQL 语句。你可以使用 ${}
来引用参数,例如:
SELECT * FROM table LIMIT ${(page.current - 1) * page.size}, ${page.size}
最后,你可以在 Mapper 接口的方法中使用 page
参数来执行分页查询,并返回结果。
List<T> selectPage(Page<T> page);
你也可以使用 MyBatis-Plus 的注解 @SqlParser(filter = true)
来支持自定义分页 SQL。
@SqlParser(filter = true)
@Select("SELECT * FROM table LIMIT ${(page.current - 1) * page.size}, ${page.size}")
List<T> selectPage(Page<T> page);