在spring框架下,如何配置PageHelper?

在spring框架下,如何配置PageHelper?

在spring框架下,如何配置PageHelper?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕小班 2020-02-28 21:27:53

同学你好,1、同学理解是正确的,可以有多个array标签与bean标签。

    2、分页插件的value项还有:

    reasonable=true-->分页参数合理化,默认false禁用。

        启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 。

        禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据。

    supportMethodsArguments=true-->支持通过 Mapper 接口参数来传递分页参数。

         默认值false时,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 

    autoRuntimeDialect=true-->默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页。

如上所示就是一些其他的value项,同学如果感兴趣,可以自己再深入学习。

        3、出界属性是指什么,还麻烦同学具体描述一下,老师并没有理解同学的意思。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕沐8221787 #1
    我想了解的就是reasonable这个属性,配置多个属性在xml文件中如何写呢?我按照如下方式配置后,出现了一个问题,当点击下一页,当页码数字超出pages时,自动变到第1页,请老师看看问题出在哪里? <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.imooc.bms.entity"/> <property name="plugins"> <array> <!--分页插件--> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <value> helperDialect=mysql reasonable=true </value> </property> </bean> </array> </property> </bean>
    2020-02-28 22:36:36
  • 好帮手慕小班 回复 提问者 慕沐8221787 #2
    同学你好,同学的配置写法没有问题,就是这样书写的,当设置了reasonable属性为true时,pageNum>pages(超过总数时),还是会有数据返回,会查询最后一页的数据返回。同学可以尝试将reasonable 改为 false,直接根据参数进行查询,修改后再来试一下。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2020-02-29 10:43:51
  • 提问者 慕沐8221787 #3
    设成false更不行,在最后一页的页面点击下一页,页号就变成0页啦。
    2020-02-29 12:10:47
好帮手慕酷酷 2020-02-27 09:57:56

同学你好,可以按照如下方式配置:

1、在pom文件中添加PageHelper依赖

<!-- pagehelper分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>

2、在applicationContext.xml中的sqlSessionFactory的bean中添加PageHelper配置,如:

其中helperDialect=mysql表示设置数据库的类型。

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource">
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<value>
          helperDialect=mysql
</value>
</property>
</bean>
</array>
</property>
<property name="typeAliasesPackage" value="com.imooc.shop.bean"/>
</bean>

3、之后就按照《MyBatis拦截器实现分页》所讲解的方式编写dao层代码就可以了。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕沐8221787 #1
    这里的array什么意思,是不是说配置插件的bean都要包裹在array标签之内?
    2020-02-27 10:09:52
  • 好帮手慕酷酷 回复 提问者 慕沐8221787 #2
    同学你好,<array>表示可以注入多个property name="plugins"的值,也就是说<property name="plugins">中可以编写多个<array> 标签注入多个其他的bean,这里只有一个所以也可以将<array> 标签删除。如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
    2020-02-27 17:02:57
  • 提问者 慕沐8221787 #3
    是不是可以这样理解,array标签可以有多个,array里的bean也可以配置多个?另外,分页插件的value项还有哪些,尤其是那个在Mybatis中可以配置的出界限制属性,这里怎么配置?
    2020-02-28 09:06:47
好帮手慕酷酷 2020-02-24 16:18:19

同学你好,对于Spring框架下,配置PageHelper,同学可以参考如下连接的回复,如:

https://class.imooc.com/course/qadetail/83542 

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕沐8221787 #1
    看不太明白,能不能详细讲一下,需要做哪些配置,如何配置,谢谢!
    2020-02-26 21:41:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师