SpringMvc框架使用pagehelper分页参数合理化

1.引入porm
2.配置bean,配置分页插件,写在你的sqlsession工厂bean标签下边

<property name="plugins">
			<array>
				<bean class="com.github.pagehelper.PageInterceptor">
					<property name="properties">
						<value>
						helperDialect=mysql
						reasonable=true<!-- 分页参数合理化 -->
						</value>
					</property>

				</bean>
			</array>
		</property>

3.参数合理化,解决了你假如发得页码已将超过了数据库分页,则会自动给你把最后一页给你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 PageHelper 插件可以更方便地实现 Spring MVC 分页功能,以下是实现步骤: 1. 在 pom.xml 中添加 PageHelper 依赖 ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.1</version> </dependency> ``` 2. 在 Spring MVC 配置文件中配置 PageHelper ```xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <value> helperDialect=mysql reasonable=true supportMethodsArguments=true params=count=countSql </value> </property> </bean> </array> </property> </bean> ``` 3. 在控制器中调用 PageHelper.startPage() 方法设置分页参数 ```java @RequestMapping("/list") public ModelAndView list(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) { ModelAndView mav = new ModelAndView("list"); PageHelper.startPage(pageNum, pageSize); List<User> userList = userService.list(); PageInfo<User> pageInfo = new PageInfo<>(userList); mav.addObject("userList", userList); mav.addObject("pageInfo", pageInfo); return mav; } ``` 4. 在视图中显示分页链接和数据 ```html <ul> <c:forEach begin="1" end="${pageInfo.pages}" var="i"> <li><a href="?pageNum=${i}&pageSize=${pageInfo.pageSize}">${i}</a></li> </c:forEach> </ul> <table> <thead> <tr> <th>Username</th> <th>Email</th> </tr> </thead> <tbody> <c:forEach items="${pageInfo.list}" var="user"> <tr> <td>${user.username}</td> <td>${user.email}</td> </tr> </c:forEach> </tbody> </table> ``` 这样就完成了 Spring MVC 调用 PageHelper 插件实现分页功能的实现。需要注意的是,PageHelper 插件默认只对最近的一个查询生效,如果有多个查询需要分页,需要在每个查询前都调用 PageHelper.startPage() 方法。同时,还需要处理一些异常情况,比如参数非法、页码超出范围等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值