mybatis中的limit参数解读
mybatis中的limit参数
参数page=1,rows=3
错误写法:
select * from xxx limit #{page},#{rows}报错:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1','3'' at line 1
可以看出mybatis自动给我们的参数加了 引号 ' ',所以报错
解决方法
#{}改为${}
正确写法:
select * from xxx limit ${page},${rows}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!!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot中对应2.0.x版本的Redis配置详解
这篇文章主要为大家介绍了SpringBoot中对应2.0.x版本的Redis配置详解,文中的实现步骤讲解详细,感兴趣的小伙伴们可以了解一下2022-06-06
springboot yml中profiles的巧妙用法(小白必看多环境配置)
这篇文章主要介绍了springboot yml中profiles的巧妙用法,非常适合多环境配置场景,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-04-04
SpringBoot项目中读取resource目录下的文件六种方法
这篇文章给大家总结了SpringBoot项目中读取resource目录下的文件六种方法,文中有详细的代码示例供大家参考,具有一定的参考价值,需要的朋友可以参考下2024-05-05


最新评论