mybatis分页插件PageHelper小例子

1导入jar

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>4.1.6</version>
</dependency>
2配置spring.xml文件:

plugins属性为新加的属性。

<!--配置SqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
      p:dataSource-ref="dataSource">
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageHelper">
                <property name="properties">
                    <value>
                        dialect=mysql
                        offsetAsPageNum=true
                        rowBoundsWithCount=true
                        pageSizeZero=true
                        reasonable=true
                    </value>
                </property>
            </bean>
        </array>
    </property>
</bean>
3把数据库中找出的数据封装:

@Service("bookService")
public class BookServiceImpl implements BookService{
    @Autowired
    private BookMapper bookMapper;

    public PageInfo<Book> getAll() {
        List<Book> bookList=bookMapper.findAll();
        return new PageInfo<Book>(bookList);
    }
}
分页操作:

@Controller
public class BookController {
    @Autowired
    @Qualifier("bookService")
    private BookService bookService;
    @RequestMapping(value = "/main")
    public String main(Model model,Integer pageNum,Integer size){
        PageHelper.startPage(pageNum==null?1:pageNum,size==null?5:size);//重点这一句
        PageInfo<Book> book_list=bookService.getAll();
        System.out.println(book_list.getLastPage()+","+book_list.getPages());
        model.addAttribute("book_list",book_list);
        return "main";
    }
}
前端显示页面:

<table border="1">
    <tr>
        <th>编号</th>
        <th>封面</th>
        <th>书名</th>
        <th>作者</th>
        <th>价格</th>
    </tr>
    <c:forEach items="${requestScope.book_list.list}" var="book">
        <tr>
            <td>${book.id}</td>
            <td> ${book.image}</td>
            <td>${book.name}</td>
            <td>${book.author}</td>
            <td>${book.price}</td>
        </tr>
    </c:forEach>
    <tr>
        <td>当前页:${book_list.pageNum}</td>
        <td>当前页的数量:${book_list.size}</td>
        <td>总记录:${book_list.total}</td>
        <td>总页数:${book_list.pages}</td>
    </tr>
    <tr>
        <td><a href="main?pageNum=${book_list.firstPage}">首页</a></td>
        <td><a href="main?pageNum=${book_list.prePage}">前一页</a> </td>
        <td><a href="main?pageNum=${book_list.nextPage}">下一页</a></td>
        <td><a href="main?pageNum=${book_list.pages}">最后一页</a></td>
    </tr>
</table>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值