mybatis执行报错,Error querying database. Cause: java.sql.SQLException: sql injection violation

mybatis执行报错,Error querying database. Cause: java.sql.SQLException: sql injection violation, comment not allow
2小时调试,血的教训!

最近在写考勤查询的sql,sql比较复杂,也写了很多注释,没想到这个报错是注释引起的,调试了2小时!!

mybatis只支持 这种形式的注释,--注释/* 注释*/ 都不支持;

我是如何发现的

看这控制台打印的部分信息:
mybatis执行报错,Error querying database. Cause: java.sql.SQLException: sql injection violation_第1张图片
在where 里面写if判断并加了注释,明明没有进入where里面为何有这些注释,肯定有问题,注释通通被我改成 这种形式,执行正常了;

小技巧:

在Navicat Premium 12 是不支持注释的,通常是写--,可以这样,比如:

--根据人员编号查询
可以写成
-- 根据人员编号查询-->

然后sql语句复制到mapper.xml后将--替换成

你可能感兴趣的:(mybatis,mybatis)