Mybatis之plugins标签4

MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据

开发步骤:
		① 导入通用PageHelper的坐标
		② 在mybatis核心配置文件中配置PageHelper插件
		③ 测试分页数据获取

不分页查询

	@Test
    public void test2() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

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

        List<User> userList = mapper.findAll();
        for (User user : userList) {
            System.out.println(user);
        }

        sqlSession.close();
    }

输出结果
在这里插入图片描述

分页查询

  1. 导坐标
  2. 配置文件中配置在这里插入图片描述在这里插入图片描述
  3. 测试
  @Test
    public void test3() throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

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

        //设置分页的相关参数  当前页+每页显示的条数
        PageHelper.startPage(1,3);

        List<User> userList = mapper.findAll();
        for (User user : userList) {
            System.out.println(user);
        }

        sqlSession.close();
    }

获取数据
在这里插入图片描述

出现问题

在学习完MybBatis框架时,中间学到了plugins标签,在测试过程中发现了这个问题

在这里插入图片描述
配置文件
在这里插入图片描述
解决办法:pagehelper插件4.0以下的版本,基本不支持多边查询的分页,并且!!PageHelper插件4.0.0以后的版本支持自动识别使用的数据库,所以我们就不必再指定方言!!!这是其一,其次呢,我们不能使用pagehelper,改为PageInterceptor,PageHelper5.0版本pagehelper是继承了PageMethod和实现了Dialect,PageInterceptor是实现了Interceptor接口(在别人文章上找的解决办法 ,很在这里插入图片描述

————————————————
版权声明:本文为优快云博主「小小小小猴」的原创文章
原文链接:https://blog.youkuaiyun.com/m0_54639263/article/details/119920872

所以将配置文件修改
在这里插入图片描述

获得分页其他参数

 PageInfo<User> pageInfo= new PageInfo<User>(userList);
        System.out.println("当前页:"+pageInfo.getPageNum());
        System.out.println("每页显示条数"+pageInfo.getPageSize());
        System.out.println("总条数:"+pageInfo.getTotal());
        System.out.println("总页数:"+pageInfo.getPages());
        System.out.println("下一页:"+pageInfo.getNextPage());
        System.out.println("是否是第一页:"+pageInfo.isIsFirstPage());
        System.out.println("是否是最后一页:"+pageInfo.isIsLastPage());

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值