Presto分页
前言
环境:jdk8,presto 338,mybatis-plus 3.3.1
<dependency>
<groupId>io.prestosql</groupId>
<artifactId>presto-jdbc</artifactId>
<version>338</version>
</dependency>
注意事项:
presto引入的包必须与presto服务版本一致,否则在高并发情况下会出现错误
mybatis mappedStatement的XML中需要设置statementType = “STATEMENT”
传入参数需要使用$注入(可能出现SQL注入风险)
一、Presto是什么?
二、分页
假如有个表为table,字段为id,a,b
查询第一页十条
pageNum = 1
pageSize = 10
select t1.*(
select
id,
a,
b,
ROW_NUMBER() over (order by id) row
from table t
)t1
where t1.row between (pageNum-1)*pageSize+1 and pageNum*pageSize
总结
该项目使用的是mybatis-plus,mybatis-plus无法对presto分页,最开始mybatis-plus文档上写了支持,查看源码后发现根本无法支持,遂使用上述方法,今日再次查阅mybatis-plus文档,发现已经被修改了,让我直呼好家伙
github文档提交记录截图: