使用 Mybatis-Plus 实现标准的分页功能需要使用 Page
类来进行分页操作。具体步骤如下:
-
引入 Mybatis-Plus 依赖
在 Maven 项目中,在
pom.xml
文件中引入 Mybatis-Plus 的依赖:<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency>
注意:
${mybatis-plus.version}
是 Mybatis-Plus 的版本号。 -
分页查询
在 Mapper 接口中,继承 Mybatis-Plus 提供的
BaseMapper
接口,并使用Page
对象进行分页查询。import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.demo.entity.User; public interface UserMapper extends BaseMapper<User> { IPage<User> selectUserPage(Page<User> page); }
在实现类中,使用
selectPage
方法进行分页查询:import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import com.example.demo.service.UserService; import org.springframework.stereotype.Service; @Service public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { @Override public IPage<User> selectUserPage(Page<User> page) { return baseMapper.selectPage(page, null); } }
-
在 Controller 中使用分页查询
在 Controller 中,使用
Page
对象传递分页参数,并调用 Service 中的分页查询方法进行分页查询:import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.demo.entity.User; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users/{pageNum}/{pageSize}") public IPage<User> selectUserPage(@PathVariable("pageNum") int pageNum, @PathVariable("pageSize") int pageSize) { Page<User> page = new Page<>(pageNum, pageSize); return userService.selectUserPage(page); } }
注意:
Page
的第一个参数是当前页码,第二个参数是每页记录数。
这样,就完成了使用 Mybatis-Plus 实现标准的分页功能的操作。