问题
springboot项目学习过程中,遇到 mybatis的xml中 sql 输入参数检查了没问题,但一直报 参数个数多了 这个错。
sql中用了--注释了多行

报如下错:
java.sql.SQLException: Parameter index out of range (7 > number of parameters, which is 6).

打印sql日志,看到sql语句里就出现了 “--”,并没有识别为注释
Preparing: INSERT INTO user ( id , user_name , create_user_id , create_user_name , create_time , update_user_id , update_user_name , update_time ) VALUES ( -- ?, -- ?, -- ?, ?, ?, ?, ?, now(3), ?, ?, now(3) )

解决办法
应该使用<!-- -->

使用 <!----> 的好处:
- 绝对可靠
- 跨不同库,不需要区分是什么类型的数据库
- 注释内容不会在sql中出现 (Debug打印的日志)
另外
下边这样 “/* */” 注释也不行。

在学习SpringBoot项目时,遇到MyBatisXML文件中的SQL参数检查无误但报参数个数错误,原因在于使用了`--`注释导致解析错误。解决方法是使用`<!---->`进行注释,确保注释不会被解析进SQL语句。常规的`/**/`注释也不适用。

251

被折叠的 条评论
为什么被折叠?



