check the manual that corresponds to your MySQL server version for the right syntax to use near

问题描述
        想要在MyBatis中完成对指定表的指定字段的指定顺序进行排序,这么一看就需要传三个参数供mapper映射文件接收。于是我写了一个mapper接口、mapper映射文件动态拼接SQL语句、一个测试类,运行测试类出现以下报错。

我的代码

问题解决
方法一:sql语法
        先检查一下你的SQL语法是不是书写错误,最简单的方法就是将你的SQL语句复制粘贴到Navicat中的查询中进行运行,看看是否能够正常运行且是自己想要的结果。
方法二:字段名
        Navicat查询报错的可能有两种,一个就是上面所说的SQL语法有误,另一个可能就是你查询语句的字段名是mysql保留的关键字,可以去官这篇博客查看Mysql 关键字及保留字,这个问题的话修改表中字段值名即可。
方法三:就是我的问题所在
使用#{ }的方式传参的话,MyBatis会对其进行预编译以防SQL注入问题,导致运行的SQL语句中这些传过来的参数都会加上单引号,就像是这个形式

select * from 'pro

check the manual that corresponds to your MySQL server version for the right syntax to use near最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/18952.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>