spring data jpa 查询数据然后用分页插件pageHelper是不是不会生效?

今天忙活了一下午,一直在弄这个东西。

public String turnPage(Model model, @RequestParam(defaultValue = "1",value = "pageNum") Integer pageNum){
    PageHelper.startPage(pageNum,5);
    List<BuyFood> userList = stuService.findAll();
    PageInfo<BuyFood> pageInfo = new PageInfo<>(userList);
    pageInfo.setPageSize(5);
    model.addAttribute("pageInfo", pageInfo);
    return "show";
}

如图所示,这个分页逻辑应该是没有问题。但是由于List<BuyFood> userList = stuService.findAll();是利用spring Data JPA实现的,so一直不能分页,脑阔疼。

 开始自己还憨楚楚的检查着,检查那。最后突发灵感是不是spring Data JPA和pageHelper杠上了。最后发现人家spring Data JPA有自己的分页方法嘛。那怎么可能轻易支出别人来分页呢?就像娶媳妇一样,什么媒婆,彩礼都让你弄好了,最后入洞房了。哎,没你啥事了,这谁会干?

但是事情无绝对,可以用但是非常麻烦,小生也不在这班门弄斧了,就告诉大伙一声,还是自己的媳妇自己入洞房吧,别去搞那些费力不讨好的事了。

下面来说说JPA咋个分页:

首先,因为麻烦,所以不能用spring Data JPA查询了,但是并不代表我们不需要使用它,知识在分页的时候不适用。并且spring Data JPA的自带分页pageable不能针对全部查询结果列表进行分页,是按照查询对象进行分页,不是很好用。所以实际应用上也不是很方便。

所以遇到分页,service层可以用mybatis,当然一种可以用xml文件,另一种是原生sql语句。查询后然后分页就行了,查询不是很复杂或者查询次数多的话,建议使用原生sql语句类似于这样的:

@Select("select * from buy_food")
List<BuyFood> findAll();

当然,自己写分页是最好不过了,写一次就留着吧。等我哪天有时间写一个发出来,哈哈。当然,本文出自技术小白,有大神路过恳请指正和指导。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值