Mybatis分页插件PageHelper的使用详解
程序员文章站
2024-03-11 18:55:37
1.说明
如果你也在用mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持oracle,mysql,mariadb,sqlite,hsq...
1.说明
如果你也在用mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持oracle,mysql,mariadb,sqlite,hsqldb,postgresql六种数据库分页。
2.使用方法
第一步:在mybatis配置xml中配置拦截器插件:
<plugins> <!-- com.github.pagehelper为pagehelper类所在包名 --> <plugin interceptor="com.github.pagehelper.pagehelper"> <!-- 设置数据库类型 oracle,mysql,mariadb,sqlite,hsqldb,postgresql六种数据库--> <property name="dialect" value="mysql"/> </plugin> </plugins>
第二步:在代码中使用
1、设置分页信息:
//获取第1页,10条内容,默认查询总数count pagehelper.startpage(1, 10); //紧跟着的第一个select方法会被分页 list<country> list = countrymapper.selectif(1);
2、取分页信息
//分页后,实际返回的结果list类型是page<e>,如果想取出分页信息,需要强制转换为page<e>, page<country> listcountry = (page<country>)list; listcountry.gettotal();
3、取分页信息的第二种方法
//获取第1页,10条内容,默认查询总数count pagehelper.startpage(1, 10); list<country> list = countrymapper.selectall(); //用pageinfo对结果进行包装 pageinfo page = new pageinfo(list); //测试pageinfo全部属性 //pageinfo包含了非常全面的分页属性 assertequals(1, page.getpagenum()); assertequals(10, page.getpagesize()); assertequals(1, page.getstartrow()); assertequals(10, page.getendrow()); assertequals(183, page.gettotal()); assertequals(19, page.getpages()); assertequals(1, page.getfirstpage()); assertequals(8, page.getlastpage()); assertequals(true, page.isfirstpage()); assertequals(false, page.islastpage()); assertequals(false, page.ishaspreviouspage()); assertequals(true, page.ishasnextpage());