pagehelperoracle分页,Pagehelper分页插件的使⽤
概述:
Pagehelper:是中国的开源的mybatis分页插件,通过该插件可以⾮常简单的实现分页功能;
步骤(maven⽅式):
1)、引⼊PageHelper jar包坐标;
代码截图:
PageHelper jar包引⼊
2)、在SqlSessionFactoryBean中配置PageHelper的分页插件;
注:该插件的位置是固定的不能随意更改;
代码截图:
配置PageHelper插件
说明:
PageInterceptor实例中的参数,可以设置多个,具体参数以及参数介绍如下:
参数:
helperDialect=mysql
reasonable=true
supportMethodsArguments=true
params=count=countSql
utoRuntimeDialect=true
参数说明:
1)、  helperDialect:分页插件会⾃动检测当前的数据库链接,⾃动选择合适的分页⽅式。 你可以配置helperDialect属性来指定分页插件使⽤哪种⽅⾔。配置时,可以使⽤下⾯的缩写值:
oracle,mysql,mariadb,sqlite,hsqldb,postgresql,db2,sqlserver,informix,h2,sqlserver2012,derby
特别注意:使⽤ SqlServer2012 数据库时,需要⼿动指定为sqlserver2012,否则会使⽤ SqlServer2005 的⽅式进⾏分页。
你也可以实现AbstractHelperDialect,然后配置该属性为实现类的全限定名称即可使⽤⾃定义的实现⽅法。
2)、offsetAsPageNum:默认值为false,该参数对使⽤RowBounds作为分页参数时有效。 当该参数设置为true时,会将RowBounds 中的offset参数当成pageNum使⽤,可以⽤页码和页⾯⼤⼩两个参数进⾏分页。
3)、rowBoundsWithCount:默认值为false,该参数对使⽤RowBounds作为分页参数时有效。 当该参数设置为true时,使⽤RowBounds分页会进⾏ count 查询。
4)、pageSizeZero:默认值为false,当该参数设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果(相当于没有执⾏分页查询,但是返回结果仍然是Page类型)。
5)、reasonable:分页合理化参数,默认值为false。当该参数设置为true时,pageNum<=0时会查询第⼀页,pageNum>pages(超过总数时),会查询最后⼀页。默认false时,直接根据参数进⾏查询。
6)、params:为了⽀持startPage(Object params)⽅法,增加了该参数来配置参数映射,⽤于从对象中根据属性名取值, 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的⽤默认值, 默认值为:
pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero。
7)、supportMethodsArguments:⽀持通过 Mapper 接⼝参数来传递分页参数,默认值false,分页插件会从查询⽅法的参数值中,⾃动根据上⾯params配置的字段中取值,查到合适的值时就会⾃动分页。 使⽤⽅法可以参考测试代码中的
com.st.basic包下的ArgumentsMapTest和ArgumentsObjTest。
8)、autoRuntimeDialect:默认值为false。设置为true时,允许在运⾏时根据多数据源⾃动识别对应⽅⾔的分页 (不⽀持⾃动选择sqlserver2012,只能使⽤sqlserver)。
9)、closeConn:默认值为true。当使⽤运⾏时动态数据源或没有设置helperDialect属性⾃动获取数据库类型时,会⾃动获取⼀个数据库连接, 通过该属性来设置是否关闭获取的这个连接,默认true关闭,设置为false后,不会关闭获取的连接,这个参数的设置要根据⾃⼰选择的数据源来决定。
3)、编写业务层代码(设置分页所必须的参数);
我们只需要向PageHelper所提供的实例中传⼊分页所必须获取的参数(当前页索引、每页展⽰的数据量)即可;
代码截图:
设置分页所必须的参数
4)、编写Controller层代码(将分页展⽰的数据传⼊PageHelper所提供的分页对象中);
el表达式获取map的值说明:由于前台分页展⽰所需要的数据较多,所以PageHelper提供了⼀个类来存取分页展⽰所需要的信息;
代码截图:
将分页展⽰的数据封装到分页对象中
效果演⽰(最终结果):
代码截图:
效果演⽰
使⽤:有了最终结果,将该分页对象存储到request域中,视图层通过el表达式即可完成分页;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。