mybatis执行mapper失败不报异常,无提示

今天在使用mybatis的时候发现了一个现象,mapper方法调用sql语句执行失败后是没有任何提示的。

控制器用的是springmvc,控制器调用service方法,servcie方法调用mapper。

情况一:控制器当返回值是String,就是返回视图时:

前端调用这个控制器,然后控制器间接调用了mapper接口,这时sql执行失败了。然后控制器忽略接下来的代码,直接返回到视图了,控制台也没有任何错误提醒。

情况二:控制器用了ResponseBody注解,返回值是String:

前端调用这个控制器,然后控制器间接调用了mapper接口,这时sql执行失败了。然后控制器忽略接下来的代码,返回了一大段html代码到前台,控制台也没有任何错误提醒。

解决:

知道是mapper方法执行有问题之后,我就用try catch处理mapper调用这句代码,果然就一切恢复正常了。

反思:

目前对mybatis了解还不够深入,不清楚它的异常处理是怎么样的一个机制,现在先把问题记录下来。以后慢慢研究。

你可能感兴趣的:(mybatis)