完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
导包
〈dependency〉 〈groupId〉com.github.pagehelper〈/groupId〉 〈artifactId〉pagehelper〈/artifactId〉 〈version〉5.1.2〈/version〉 〈/dependency〉 |
|
|
|
在mybatis的全局配置文件中配置PageHelper分页插件
applicationContext.xml配置文件中要指定mybatis全局配置文件的位置 〈!-- 引入 pageHelper插件,注意这里要写成PageInterceptor, 5.0之前的版本都是写PageHelper, 5.0之后要换成PageInterceptor--〉 〈plugins〉 〈plugin interceptor=“com.github.pagehelper.PageInterceptor”〉 〈!--reasonable:分页合理化参数,默认值为false,直接根据参数进行查询。当该参数设置为 true 时,pageNum〈=0 时会查询第一页, pageNum〉pages(超过总数时),会查询最后一页。--〉 〈property name=“reasonable” value=“true”/〉 〈/plugin〉 〈/plugins〉 |
|
|
|
持久层接口
package com.yl.dao; import com.yl.bean.Book; import com.yl.bean.PageBook; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 图书持久层接口 */ public interface IBookDao { /** * 查询所有图书 */ List《Book》 queryAll(); } |
|
|
|
持久层映射文件
〈?xml version=“1.0” encoding=“UTF-8”?〉 〈!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN” “http://mybatis.org/dtd/mybatis-3-mapper.dtd”〉 〈mapper namespace=“com.yl.dao.IBookDao”〉 〈!--配置实体类属性和数据库字段对应关系--〉 〈resultMap id=“bookMap” type=“com.yl.bean.Book”〉 〈id property=“id” column=“book_id”〉〈/id〉 〈result property=“name” column=“book_name”〉〈/result〉 〈result property=“author” column=“book_author”〉〈/result〉 〈result property=“date” column=“book_date”〉〈/result〉 〈result property=“price” column=“book_price”〉〈/result〉 〈/resultMap〉 〈!--查询所有图书,写普通的查询即可,插件会自动分页--〉 〈select id=“queryAll” resultMap=“bookMap”〉 select * from tb_book 〈/select〉 〈/mapper〉 |
|
|
|
业务层接口
package com.yl.service; import com.github.pagehelper.PageInfo; import com.yl.bean.Book; import com.yl.bean.PageBook; import java.util.List; /** * 图书业务层接口 */ public interface IBookService { /** * 查询所有图书 */ PageInfo《Book》 queryAll(int pageCode, int pageSize); } |
|
|
|
业务层接口实现类
package com.yl.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.yl.bean.Book; import com.yl.bean.PageBook; import com.yl.dao.IBookDao; import com.yl.service.IBookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import java.util.List; /** * 图书业务层接口实现类 */ @Service(“bookService”) public class IBookServiceImpl implements IBookService { @Autowired private IBookDao bookDao; /** * 查询所有图书 * @param pageCode * @param pageSize * @return */ @Override public PageInfo《Book》 queryAll(int pageCode, int pageSize) { //分页查询 PageHelper.startPage(pageCode,pageSize);//写在所有查询之前 List《Book》 bookList=bookDao.queryAll(); PageInfo《Book》 pageInfo = new PageInfo《Book》(bookList); return pageInfo; } } |
|
|
|
控制器
package com.yl.controller; import com.github.pagehelper.PageInfo; import com.yl.bean.Book; import com.yl.bean.PageBook; import com.yl.service.IBookService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.SessionAttributes; import org.springframework.web.servlet.ModelAndView; import java.util.List; /** * 图书控制器类 */ @Controller @RequestMapping(“/book”) @SessionAttributes(value = {“pageBook”},types ={PageBook.class} ) public class BookController { @Autowired private IBookService bookService;//图书业务层对象 /** * 查询所有图书 */ @RequestMapping(“/queryAll”) public ModelAndView queryAll(int pageCode){ int pc=1;//页码,默认为第一页 int pageSize=3;//页面数据条数 //判断表单页码是否为空 if (pageCode》0){ pc=pageCode; } //调用业务层查询所有方法 PageInfo《Book》 pageInfo=bookService.queryAll(pc,pageSize); ModelAndView modelAndView=new ModelAndView(); modelAndView.addObject(“pageBook”,pageInfo); modelAndView.setViewName(“index”); return modelAndView; } } |
|
|
|
jsp
〈form method=“post” action=“${pageContext.servletContext.contextPath}/book/queryByPage”〉 〈table〉 〈tr〉 〈th〉书名〈/th〉 〈th〉作者〈/th〉 〈th〉出版日期〈/th〉 〈th〉价格〈/th〉 〈/tr〉 〈c:forEach items=“${sessionScope.pageBook.list}” var=“book”〉 〈tr〉 〈td〉${book.name}〈/td〉 〈td〉${book.author}〈/td〉 〈td〉${book.date}〈/td〉 〈td〉${book.price}〈/td〉 〈/tr〉 〈/c:forEach〉 〈/table〉 第${sessionScope.pageBook.pageNum}页/共${sessionScope.pageBook.pages}页 〈a href=“〈c:url value=”/book/queryAll?pageCode=1“/〉”〉首页〈/a〉 〈c:if test=“${sessionScope.pageBook.pageNum〉1}”〉 〈a href=“〈c:url value=”/book/queryAll?pageCode=${sessionScope.pageBook.pageNum-1}“/〉”〉上一页〈/a〉 〈/c:if〉 〈c:if test=“${sessionScope.pageBook.pageNum〈sessionScope.pageBook.pages}”〉 〈a href=“〈c:url value=”/book/queryAll?pageCode=${sessionScope.pageBook.pageNum+1}“/〉”〉下一页〈/a〉 〈/c:if〉 〈a href=“〈c:url value=”/book/queryAll?pageCode=${sessionScope.pageBook.pages}“/〉”〉尾页〈/a〉 〈/form〉 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
“0元购”智元灵犀X1机器人,软硬件全套图纸和代码全公开!资料免费下载!
3429 浏览 2 评论
1394 浏览 0 评论
【实操文档】在智能硬件的大模型语音交互流程中接入RAG知识库
6690 浏览 1 评论
防止AI大模型被黑客病毒入侵控制(原创)聆思大模型AI开发套件评测4
1086 浏览 0 评论
不可错过!人工神经网络算法、PID算法、Python人工智能学习等资料包分享(附源代码)
3403 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 11:43 , Processed in 0.847130 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号