mybatis 分页插件

2019-01-12 18:43

山东大学苏州研究院

mybatis配置使用手册

秦 士 亚 2016-4-6

分页插件

目录

在代码中使用 ................................................................. 2

1). RowBounds方式的调用 ................................................. 2 2). PageHelper.startPage静态方法调用 .................................... 2

例一: ............................................................... 3 例二: ............................................................... 4 例三,使用PageInfo的用法: .......................................... 5

配置方法..................................................................... 6

Spring配置方法 .......................................................... 6 Mybatis配置xml中配置: .................................................. 7 参数说明:................................................................... 8

1. 增加dialect属性, .................................................... 8 2. 增加offsetAsPageNum属性, ............................................ 8 3. 增加rowBoundsWithCount属性, ......................................... 8 4. 增加pageSizeZero属性, ............................................... 8 5. 增加reasonable属性, ................................................. 9 6. params ................................................................ 9 7. supportMethodsArguments ............................................... 9 8. returnPageInfo ........................................................ 9 9. 重要提示: ............................................................ 9 重要提示.................................................................... 10

PageHelper.startPage方法重要提示 ....................................... 10 请不要配置多个分页插件 .................................................. 10 reasonable参数说明 ..................................................... 10 分页插件不支持关联的嵌套结果 ............................................ 11

在代码中使用

//第一种,RowBounds方式的调用

List list = sqlSession.selectList(\null, new RowBounds(1, 10));

//第二种,Mapper接口方式的调用,推荐这种使用方式。 PageHelper.startPage(1, 10);

List list = countryMapper.selectIf(1);

1). RowBounds方式的调用

List list = sqlSession.selectList(\null, new RowBounds(1, 10));

使用这种调用方式时,你可以使用RowBounds参数进行分页,这种方式侵入性最小,我们可以看到,通过RowBounds方式调用只是使用了这个参数,并没有增加其他任何内容。

分页插件检测到使用了RowBounds参数时,就会对该查询进行物理分页。

关于这种方式的调用,有两个特殊的参数是针对RowBounds的,你可以参看上面的场景一和场景二

注:不只有命名空间方式可以用RowBounds,使用接口的时候也可以增加RowBounds参数,例如:

//这种情况下也会进行物理分页查询

List selectAll(RowBounds rowBounds);

2). PageHelper.startPage静态方法调用

在你需要进行分页的Mybatis方法前调用PageHelper.startPage静态方法即可,紧跟在这个方法后的第一个Mybatis查询方法会被进行分页。

例一:

SqlSession sqlSession = MybatisHelper.getSqlSession();

CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class); try {

//获取第1页,10条内容,默认查询总数count PageHelper.startPage(1, 10);

//紧跟着的第一个select方法会被分页

List list = countryMapper.selectIf(1); assertEquals(2, list.get(0).getId()); assertEquals(10, list.size());

//分页时,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page

//或者使用PageInfo类(下面的例子有介绍) assertEquals(182, ((Page) list).getTotal()); } finally {

sqlSession.close(); }

例二:

SqlSession sqlSession = MybatisHelper.getSqlSession();

CountryMapper countryMapper = sqlSession.getMapper(CountryMapper.class); try {

//获取第1页,10条内容,默认查询总数count PageHelper.startPage(1, 10);

//紧跟着的第一个select方法会被分页

List list = countryMapper.selectIf(1);

//后面的不会被分页,除非再次调用PageHelper.startPage List list2 = countryMapper.selectIf(null); //list1

assertEquals(2, list.get(0).getId()); assertEquals(10, list.size());

//分页时,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page

//或者使用PageInfo类(下面的例子有介绍) assertEquals(182, ((Page) list).getTotal()); //list2

assertEquals(1, list2.get(0).getId()); assertEquals(182, list2.size()); } finally {

sqlSession.close(); }


mybatis 分页插件.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:玻璃钢环保化粪池

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: