1. Los
parámetros de solicitud del front-end de mysql incluyen page_num y page_size. Primero, juzgue la legalidad de estos dos parámetros y luego vuelva a calcular el page_num, de modo que el page_num actual corresponda a los datos enésimos que desea ubicar. Por ejemplo, ahora desea comprobar los datos de la sexta página y page_size=7, es decir, obtener los datos de la fila 37-43.
Revise el uso de límite en mysql:
la cláusula LIMIT se puede usar para forzar la declaración SELECT para devolver un número específico de registros. LIMIT acepta uno o dos argumentos numéricos. El argumento debe ser una constante entera. Si se proporcionan dos parámetros, el primer parámetro especifica el desplazamiento de la primera fila de registro devuelta y el segundo parámetro especifica el número máximo de filas de registro devueltas. El desplazamiento de la línea de registro inicial es 0 (en lugar de 1).
Entonces, para el caso anterior, el desplazamiento correspondiente = (7-1) * 6 = 36.
if (page_num != null && page_size != null) {
page_num = (page_num - 1) * page_size;
}
List<Example> data = exampleMapper.getExample(page_num, page_size);
Ejemplo de sentencia sql en .xml:
<select id="getExampleByPage" resultMap="AllExampleInfo">
select *
from Example
limit #{page},#{size}
</select>
Dos, Pagehelper
PageHelper realiza la paginación de datos y agrega contenido SQL de paginación después de su declaración de selección.Si usa una base de datos mysql, agrega una declaración de límite después de seleccionar * del estudiante.
Pasos para el uso:
-
Añadir dependencia pagehelper dependencia
<dependencia> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> </dependency>
-
En el archivo de configuración principal de mybatis, agregue la declaración del complemento
Agregar <complementos> antes de <entornos> <interceptor de complementos ="com.github.pagehelper.PageInterceptor"/> </complementos>
-
Antes de la declaración de selección, llame a PageHelper.startPage (número de página, tamaño de cada página)
@Test public void testPageHelper(){ //1.获取SqlSession对象 SqlSession session = MybatisUtil.getSqlSession(); //2.获取dao的代理 StudentDao dao =session.getMapper(StudentDao.class); //调用PageHelper的方法 PageHelper.startPage(1,3); List<Student> students = dao.selectAllStudents(); students.forEach(stu -> System.out.println("stu="+stu) ); //4.关闭 session.close(); }