MyBatis学习笔记-08-分页


分页.

  • 减少数据的处理量
  • 数据太多在页面上也不好展示

下面只是简单的展示,分页查询,并不是,面向对象的分页

Limit分页.

使用Mybatis实现分页,核心是sql

  1. 接口方法
//limit 分页
List<User> getUserByLimit(Map<String,Object> map);

2.mapper.xml

  1. 测试
@Test
public void getUserByLimit(){
    try(SqlSession sqlSession = MybatisUtils.getSqlSession();) {
        UserMapper userDao = sqlSession.getMapper(UserMapper.class);

        Map<String, Object> map = new HashMap<>();
        map.put("pageIndex", 2);
        map.put("pageSize", 2);

        List<User> list = userDao.getUserByLimit(map);
        list.forEach(System.out::println);
    }
}
  1. 结果

RowBounds分页.

不依赖limit 需要 使用 SqlSession.selectX

  1. 接口方法
//rowBounds 分页 这里不需要参数 参数 会在 selectList的rowbounds中添加
List<User> getUserByRowBounds();

2.mapper.xml

<select id="getUserByRowBounds" resultType="pojo.User">
    <!-- 不依赖limit -->
    select * from mybatis.user;
</select>
  1. 测试
@Test
public void getUserByRowBounds(){
    try(SqlSession sqlSession = MybatisUtils.getSqlSession();) {

        RowBounds rowBounds = new RowBounds(2,2);
        //不依赖 limit 但是  依赖 selectList
        List<User> list = sqlSession.selectList("dao.UserMapper.getUserByRowBounds", null, rowBounds);

        list.forEach(System.out::println);
    }
}
  1. 结果

分页插件PageHelper.

https://pagehelper.github.io/docs/

##


文章作者: liuminkai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 liuminkai !
评论
 上一篇
MyBatis学习笔记-09-注解开发(含CRUD) MyBatis学习笔记-09-注解开发(含CRUD)
注解开发.1、面向接口编程. 根本原因: 解耦,可扩展,提高代码复用,分层开发中、上层不用管具体实现,大家都遵守的共同标准,使得开发变的更容易,规范性更好 理想的系统设计规范:定义与实现分离 关于接口的理解 接口从更深层次的理解,
2020-07-24
下一篇 
MyBatis学习笔记-08-日志工厂(LOG4J STDOUT_LOGGING) MyBatis学习笔记-08-日志工厂(LOG4J STDOUT_LOGGING)
日志.1、日志工厂.如果一个数据库操作,出现了异常,我们需要排错,日志就是很好的助手 设置名 描述 有效值 默认值 logImpl 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。 SLF4J | LOG4J |
2020-07-24
  目录