Использование Mybatis-Plus для реализации стандартной функции пейджинга требует использования Page
классов для операций пейджинга. Конкретные шаги заключаются в следующем:
-
Внедрить зависимость Mybatis-Plus
В проекте Maven введите зависимость Mybatis-Plus в
pom.xml
файле :<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency>
Примечание.
${mybatis-plus.version}
Это номер версии Mybatis-Plus. -
Пейджинговый запрос
В интерфейсе Mapper наследуйте
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); } }
-
Использовать запрос на разбивку на страницы в контроллере
В Контроллере используйте
Page
объект для передачи параметров пейджинга и вызовите метод запроса пейджинга в Сервисе для выполнения запроса пейджинга: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 для реализации стандартной функции пейджинга завершена.