【Mybatis】利用分页助手插件实现分页功能
之前我们要实现分页查询的功能十分麻烦,需要先创建一个pageBean对象,然后有当前页,总页数,总条数,每页显示条数以及页面包含的记录集合等等对象。
但是现在使用Mybatis实现这个功能可以很容易实现。
首先导入一个pagehepler插件
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.7.5</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>0.9.1</version> </dependency>
然后在核心配置文件中注册该插件
<!-- 配置分页助手插件--> <plugins> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql"/> </plugin> </plugins>
测试一下: 实现查询第一页的记录,每页展示两条记录
@Test public void Test4() 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, 2); List<User> all = mapper.findAll(); for (User user : all) { System.out.println(user); } }
那具体信息如何获取呢?
可以通过以下方法获得
//获得与分页相关参数 PageInfo<User> pageInfo = new PageInfo<User>(all); System.out.println("当前页:"+pageInfo.getPageNum()); System.out.println("每页显示条数:"+pageInfo.getPageSize()); System.out.println("总条数:"+pageInfo.getTotal()); System.out.println("总页数:"+pageInfo.getPages()); System.out.println("上一页:"+pageInfo.getPrePage()); System.out.println("下一页:"+pageInfo.getNextPage());
下一篇:
SQL内连接——使用场景记录