-
分页需要在pom.xml文件里面导入两个依赖
- 可以去mvnrepository.com/
- 这个网站去搜pagehelper和jsqlparser
-
<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);
}
}
控制台的输出: