java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis中的limit参数

mybatis中的limit参数解读

作者:H_J_J

这篇文章主要介绍了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!!

总结

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

您可能感兴趣的文章:
阅读全文