El uso de Mybatis-Plus para implementar la función de paginación estándar requiere el uso de Page
clases para las operaciones de paginación. Los pasos específicos son los siguientes:
-
Introducir la dependencia de Mybatis-Plus
En el proyecto Maven, introduzca la dependencia Mybatis-Plus en
pom.xml
el archivo :<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency>
Nota:
${mybatis-plus.version}
Es el número de versión de Mybatis-Plus. -
Consulta de paginación
En la interfaz de Mapper, herede
BaseMapper
la interfaz y usePage
el objeto para la consulta de paginación.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); }
En la clase de implementación, use
selectPage
el método para la consulta paginada: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); } }
-
Usar consulta de paginación en Controller
En el controlador, use
Page
el objeto para pasar los parámetros de paginación y llame al método de consulta de paginación en el servicio para realizar la consulta de paginación: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); } }
Nota:
Page
El primer parámetro es el número de página actual y el segundo parámetro es el número de registros por página.
De esta forma, se completa la operación de utilizar Mybatis-Plus para implementar la función de paginación estándar.