public interface PageSortInterface { Integer getPageNum(); Integer getPageSize(); String getSort(); String getOrder(); } public interface MyBaseMapper<T> extends Mapper<T>, MySqlMapper<T>,MyInsertListMapper<T> { } public interface UserMapper extends MyBaseMapper<User> { } springboot项目在有这三个接口的情况下,实现在sql层的分页
时间: 2024-03-16 20:41:28 浏览: 18
在有以上三个接口的情况下,可以通过使用Mybatis插件PageHelper来实现分页。
1. 添加依赖
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
2. 配置PageHelper
在application.properties中配置PageHelper:
```
# 分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
```
3. 在Mapper中添加分页方法
在UserMapper中添加分页方法:
```
List<User> selectUserList(PageSortInterface pageSort);
```
4. 在Mapper.xml中编写SQL
在UserMapper.xml中编写SQL:
```
<select id="selectUserList" resultMap="BaseResultMap">
select *
from user
order by ${sort} ${order}
</select>
```
5. 在Service中调用Mapper方法
在UserService中调用Mapper方法:
```
public PageInfo<User> getUserList(PageSortInterface pageSort) {
PageHelper.startPage(pageSort.getPageNum(), pageSort.getPageSize());
List<User> userList = userMapper.selectUserList(pageSort);
return new PageInfo<>(userList);
}
```
通过以上步骤,即可实现在sql层的分页。在Controller中调用Service的getUserList方法即可获取分页数据。