mybatis 报错显示sql中有两个limit的解决

2022-11-13 18:11:52 报错 两个 中有

mybatis 报错显示sql中有两个limit

使用mybatis进行分页查询时,打印的查询sql中带有两个limit。

经过审查:原因是由于自己在sql语句中写了limit,

然而在SpringBoot中配置了pageHelper,它的作用是在sql中自动加上limit,所以就出现了两个limit;

把pom文件的配置删掉调就决绝问题喽。 

mybatis 分页中的小坑(limit 0.0 ,10)

其中某个dao对应的mapper.xml配置如下:

很正常分页对不对?

然后系统一直报如下异常:

很郁闷,哪里来的0.0,不是应该0吗??

解决方案

limit m,n = limit ${(page-1)*pagesize},${pagesize}​​​​​​​

这里需要特别注意的是,传入参数时,page ,pagesize需为int或者integer类型!

如果为其他类型,比如string,直接获取pagesize值将不会有错,但是(page-1)*pagesize是需要进行运算的!

先进行类型转换,然后进行计算—->这也就是为什么是0.0!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章