Use limit en mybatis para darse cuenta de la paginación y el uso de Map

1. Limit se da cuenta de la paginación

Existe un límite en sql, que puede realizar consultas de paginación. Su uso es:

select * from table1 limit startIndex,pageStze
--这里的startIndex与pageSize在使用时用整数代替

Como su nombre lo indica, el límite requiere dos parámetros: startIndex es el subíndice real que identifica la página, que es el número de registros que comienzan desde la visualización de la página; pageSize es el número de registros que se muestran en cada página. como:

select * from table1 limit 35

Significa que a partir del tercer registro de la tabla, cada cinco registros se muestran como una página. Estos dos parámetros se pueden pasar en mybatis.

2. Cómo utilizar Map

Para usar Map, primero debe importar el paquete util (por supuesto, IDEA puede importarlo automáticamente)
El núcleo de Map son los pares clave-valor. Puede entenderlo directamente después de usarlo. El código:

HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("startIndex",0);
map.put("pageSize",3);

Cree una instancia de Map, HashMap <String, Integer> es la "estructura" que define los pares clave-valor, String es el tipo de clave (clave) y Integer es el tipo de valor (valor) de esta clave, por supuesto esto puede configurarlo usted mismo. Luego, puede llamar al método put () de la instancia de Map para almacenar un par clave-valor. Por supuesto, una instancia de Map puede almacenar múltiples pares clave-valor. Es más conveniente utilizar Map para transferir parámetros.

3. Implementar la consulta de paginación en mybatis

Esto no es diferente de la consulta anterior, excepto que el límite se usa en la declaración SQL. El código anterior:
métodos de escritura en la interfaz

    //分页测试
    List<User> getUserByLimit(Map<String,Integer> map);

"Implementar" este método en la configuración (tenga en cuenta que el parámetro en el mapa aquí es # {key name})

    <!--使用map来传参-->
    <select id="getUserByLimit" parameterType="map" resultType="User">
        <!--limit后面跟两个参数,第一个参数是显示分页的起始下标,第二个是页面的大小-->
        select * from mybatis.user limit #{startIndex},#{pageSize};
    </select>

prueba

    @Test
    public void limitTest00(){
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        UserDao mapper = sqlSession.getMapper(UserDao.class);

        //创建map来存放参数,map就是键值对,定义时HashMap<String,Integer>转下一行
        //String就是key的类型,Integer就是这个健的值的类型,当然这两个类型可自行设置
        HashMap<String,Integer> map = new HashMap<String,Integer>();
        map.put("startIndex",0);
        map.put("pageSize",3);

        List<User> usersByPage = mapper.getUserByLimit(map);

        for(User user:usersByPage){
    
    
            System.out.println(user.getId());
        }

    }

Supongo que te gusta

Origin blog.csdn.net/kitahiragawa/article/details/113055538
Recomendado
Clasificación