最近在使用mybatis的时候遇到一个问题,在执行数据库分页查询的时候报语法错误,但是检查sql之后并没有发现语法错误。
在反复查询各种资料后(百度搜索‘mybatis分页’),最后发现是sql语句参数注入的问题。
解决办法,可以按照下列项目一一排查:
1、sql语句没有语法问题;
2、sql操作的标签内的关键字没有错误(ibatis和mybatis的传出参数关键字是有区别的);
3、然后继续排查,注意在sql语句中注入参数时标签的使用正误,#{}是将所有参数看为字符串处理,会在两侧加上双引号,
而${}将参数不做处理,将参数看为原类型数据注入;(ibatis和mybatis是不同的,mybatis:#{}、¥{} , ibatis:## , $$);
4、在mybatis中一条sql后面加上 分号 是没有问题的,而在ibatis一条sql语句后加上分号会报错;