Mybatis_学习5

点击查看上文

实现分页功能

在学习mybatis等持久层框架的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,如果查询大量数据的时候,我们往往使用分页进行查询,也就是每次处理小部分数据,这样对数据库压力就在可控范围内。

使用limit实现分页

sql的语法:

select * from tableName limit i,n
# tableName:表名
# i:为查询结果的索引值(默认从0开始),当i=0时可省略i
# n:为查询结果返回的数量
# i与n之间使用英文逗号","隔开
# limit n 等同于 limit 0,n

修改userMapper.xml文件:

    <select id="getUserList" resultMap="userMap">
        select * from mybatis.user limit #{startIndex}, #{pageSize};
    </select>

修改接口, 参数为map
Mybatis_学习5

修改测试类:

    @Test
    public void getUserList(){

        try(SqlSession sqlSession = MybatisUtils.getSqlSession()){
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);

            int currentPage = 1;//当前页面
            int pageSize = 2;//页面的大小
            HashMap<String, Integer> map = new HashMap<>();

            map.put("startIndex", (currentPage-1)*pageSize);
//起始位置 = (当前页面 - 1 ) * 页面大小
            map.put("pageSize", pageSize);

            List<User> userList = mapper.getUserList(map);

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

测试结果:
Mybatis_学习5

上一篇:GBase 8a集群通过SQL获得加载错误数据信息日志


下一篇:Buffer flip()方法用法