Varias formas de paginación de primavera

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:

  1. Añadir dependencia pagehelper dependencia

    <dependencia> 
      <groupId>com.github.pagehelper</groupId> 
      <artifactId>pagehelper</artifactId> 
      <version>5.1.10</version> 
    </dependency>
  2. 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>
  3. 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();
    ​
    ​
    }

Supongo que te gusta

Origin blog.csdn.net/weixin_53630942/article/details/124215958
Recomendado
Clasificación