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成神之路。
共有 0 条评论