Necesitamos tu apoyo para extender nuestras crónicas con relación a las ciencias de la computación.
Solución:
Yo mismo uso su segunda opción con LIMIT en consulta sql.
Pero hay una variedad de métodos que admiten la paginación usando la clase RowBounds. Esto está bien descrito en la documentación de mybatis aquí
Preste atención al tipo de conjunto de resultados correcto para usar.
Si está utilizando Mappers (mucho más fácil que usar SqlSessions sin procesar), la forma más fácil de aplicar un límite es agregar un parámetro RowBounds a la lista de argumentos de la función de mapeo, por ejemplo:
// without limit
List selectFooByExample(FooExample ex);
// with limit
List selectFooByExample(FooExample ex, RowBounds rb);
Esto se menciona casi como una ocurrencia tardía en el enlace que Volodymyr publicó, bajo el encabezado Uso de mapeadores, y podría usar un poco más de énfasis:
También puede pasar una instancia de RowBounds al método para limitar los resultados de la consulta.
Tenga en cuenta que la compatibilidad con RowBounds puede variar según la base de datos. La documentación de Mybatis implica que Mybatis se encargará de utilizar la consulta adecuada. Sin embargo, al menos para Oracle, esto se maneja mediante llamadas repetidas muy ineficientes a la base de datos.
la paginación tiene dos tipos, física y lógica
- medios lógicos para recuperar todos los datos primero y luego ordenarlos en la memoria
- selección de subconjunto de nivel de base de datos de medios físicos
la paginación predeterminada de mybatis es lógica… por lo tanto, cuando selecciona una base de datos masiva, por ejemplo, 100 GB de blobs, el método de enlace por filas seguirá siendo muy lento
la solución es usar la paginación física
- usted puede hacer su propio camino a través del interceptor mybatis
- o usando complementos prefabricados por otra persona
Te mostramos las reseñas y valoraciones de los usuarios
Si piensas que te ha sido de provecho este post, sería de mucha ayuda si lo compartes con más desarrolladores de este modo contrubuyes a dar difusión a nuestro contenido.