【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内连接——使用场景记录
