Mybatis分页

  1. 分页需要在pom.xml文件里面导入两个依赖

    1.   可以去mvnrepository.com/
    2. 这个网站去搜pagehelperjsqlparser
    3.         <dependency>
                  <groupId>com.github.pagehelper</groupId>
                  <artifactId>pagehelper</artifactId>
                  <version>5.1.10</version>
              </dependency>
      
              <dependency>
                  <groupId>com.github.jsqlparser</groupId>
                  <artifactId>jsqlparser</artifactId>
                  <version>2.0</version>
              </dependency>

2.需要在主配置文件mybatis-config.xml文件里面加上插件

  • 要注意放到别名后面,因为是有位置限制的
  • interceptor里面的属性值/地址,怕写错,可以ctrl+n搜索PageInter,然后copy Reference,复制类的全名称就好
  • helperDialect:表示方言,此处数据库的方言是mysql
  • 如果不加分页插件,可以通过自己的方式传个map来写
  •      <plugins><!--分页插件-->
            <plugin interceptor="com.github.pagehelper.PageInterceptor">
                <property name="helperDialect" value="mysql"/>
                <property name="reasonable" value="true"/>
            </plugin>
        </plugins>

 UserDao:

UserMapper:

 

 

测试类:

  • 开始行号:表示当前页的第一条数据所在的行
  • getResult:获取查询的结果
    @Test
    public void PageTest() throws IOException {
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sessionFactory.openSession();

        //pageNum表示第几页
        PageHelper.startPage(1,3);
        Page<User> page = (Page)sqlSession.selectList("selectPage1");
        System.out.println("总页数:"+page.getPages());
        System.out.println("总记录数"+page.getTotal());
        System.out.println("开始行号"+page.getStartRow());
        System.out.println("结束行号"+page.getEndRow());
        System.out.println("当前页码"+page.getPageNum());

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

 控制台的输出:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值