使用mybatis,想利用spring data的Pageable的问题

caichaoqi 2018-04-23 02:05:59
在网站上看到很多人提到分页查询使用Pageable,但是大部分用的都是JPA。我这里使用的是mybatis。控制器代码:
@GetMapping
public Object GetVacations(
@PageableDefault(page = 2, size = 4, sort = {"id,desc"}) Pageable pageable) {
List<Vacation> vacations = new ArrayList<>();

vacations=vacationMapper.getVacations(pageable);

return vacations;
}

Mapper的代码是这样的。
@Select("SELECT * FROM VACATION WHERE state='已请假' order by ${sort} limit ${page},${size}")
List<Vacation> getVacations(Pageable pageable);

修改成:
@Select("SELECT * FROM VACATION WHERE state='已请假' order by id limit ${page},${size}")
List<Vacation> getVacations(Pageable pageable);
就可以运行,我的功能也是能够实现,现在就是想弄清楚sort在这里使用的方式。查看PageableDefault注解源码得知,这个sort是String【】,一个数组类型。
有两个问题:
1是在mybatis中查询对数组的参数怎么处理?
2 本例是否还有别的方式。在网上看到有些人在select语句中根本不适用这三个参数,我也尝试了,这样的pageable不起作用,不知道他们是怎么得到分页信息的,要怎么做呢?
...全文
1689 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fy_kenny 2021-04-07
  • 打赏
  • 举报
回复
不是 limit ${page},${size}" 而是 limit ${offset},${size}") 分页没发现有好的插件,感觉自己写比较合适 我原本以为spring的pageable,是可以独立于mapper.xml 只要mapper配置查询 自动能算出total
dong_19890208 2018-04-23
  • 打赏
  • 举报
回复
Mybatis 分页建议用 PageHelper

50,499

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧