org.spring work.jdbc.BadSqlGrammarException:
### Error querying data . Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 \'LIMIT 0,10\' at line 21
### The error may exist in cn/edu/sdju/yyh/dao/ manDao.
### The error may involve cn.edu.sdju.yyh.dao. manDao.select manList-Inline
### The error occurred while setting parameters
### SQL: SELECT lkm_id, lkm_name, lkm_cust_id, lkm_gender, lkm_phone, lkm_mobile, lkm_email, lkm_qq, lkm_position, lkm_memo FROM man l /*多条件查询*/ WHERE /*所属客户*/ LIMIT ?,?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 \'LIMIT 0,10\' at line 21
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 \'LIMIT 0,10\' at line 21
用ssm框架做毕设——————————————上面是我的报错
这个报错困扰了我整整一天半,难受啊马飞~
下面是我的mapper. :
<!--SQL片段 -->
<sql id=\"select manListWhere\">
<where>
<if test=\"lkm_name != null\" >
lkm_name like \"%\"#{lkm_name}\"%\"
</if>
<if test=\"lkm_gender != null\" >
and lkm_gender = #{lkm_gender}
</if>
/*所属客户*/
<if test=\"lkm_cust_id != null\" >
and lkm_cust_id = #{lkm_cust_id}
</if>
</where>
</sql>
<!-- 查询联系人列表 -->
<select id=\"select manList\" parameterType=\" man\"
resultType=\" man\">
SELECT
lkm_id,
lkm_name,
lkm_cust_id,
lkm_gender,
lkm_phone,
lkm_mobile,
lkm_email,
lkm_qq,
lkm_position,
lkm_memo
FROM
man l
/*多条件查询*/
<include refid=\"select manListWhere\"/>
<!-- 执行分页查询 -->
<if test=\"start_index !=null and rows != null\">
LIMIT #{start_index},#{rows}
</if>
</select>
我知道你肯定不耐烦了,哈哈~~~
这个错误,大部分人肯定是字段用了mysql的关键字导致的。
而我的问题就有丶秀了,因为爱写注释的好习惯,但我把注释写到了<where></where>标签里面去了,还是/* */这种形式(用的ctrl+shift+/快捷键)
这会导致什么结果呢:无论你<where>中的<if>条件是否成立,mybatis都会给你拼接一个where
只要去掉注释就OK了,或者改用<!-- -->注释。
继续阅读与本文标签相同的文章
上一篇 :
看过来看过来,移动办税平台推出新功能了!
-
搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客
2026-05-18栏目: 教程
-
搭建自己的技术博客系列(二)把 Hexo 博客部署到 GitHub 上
2026-05-18栏目: 教程
-
CMU 15-721 14-数据库调度 Scheduling
2026-05-18栏目: 教程
-
从校招生到核心架构师,支付宝研究员李俊奎谈如何成为一名优秀的程序员
2026-05-18栏目: 教程
-
【阿里云十年,因为有我而不同】有一种糖叫语法糖【5】IOT三连之设备之扩展操作
2026-05-18栏目: 教程
