mybatis报错的bug,是的是报错出现了bug

/ 默认分类 / 0 条评论 / 923浏览

这篇文章记录的是我再使用mybatis过程中遇到的一个坑,sql如下:

@Select("select password_md5 from sys_user where username = #{empId} limit 1")

这里我自己有一个操作失误,测试环境没有同步开发环境的数据源,所以按理说,这个时候应该报的错误是数据源的问题,或者是查不到sys_user这张表才对,但是事实上报的错误却是:

### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: “limit”附近有语法错误。
1044 ### The error may exist in cn/wondershare/mapper/CommonMapper.java (best guess)
1045 ### The error may involve cn.wondershare.mapper.CommonMapper.getMd5PsdByEmpId-Inline
1046 ### The error occurred while setting parameters
1047 ### SQL: select password_md5 from sys_user where username = ? limit 1
1048 ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: “limit”附近有语法错误。
1049 ; uncategorized SQLException; SQL state [S0001]; error code [102]; “limit”附近有语法错误。

我去,我查了二十几分钟,也没有发现,这个原因,最终我去掉了limit 1,终于报错了

### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'sys_user' 无效。
1203 ### The error may exist in cn/wondershare/mapper/CommonMapper.java (best guess)
1204 ### The error may involve cn.wondershare.mapper.CommonMapper.getMd5PsdByEmpId-Inline
1205 ### The error occurred while setting parameters
1206 ### SQL: select password_md5 from sys_user where username = ?
1207 ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'sys_user' 无效。
1208 ; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'sys_user' 无效。

好家伙