Springboot+mybatisplus自定义分页SQL
时间: 2023-02-07 20:01:54 浏览: 162
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);
```
阅读全文