最近遇到一个功能,要求用mybatis拦截器拦截用户增删改时操作的的sql记录并存到一张sql日志表里去,拦截和保存的部分都弄出来了,但是遇到一个问题,就是如果拦截的sql操作本身报错然后回滚了,我怎么让保存sql的操作也跟着回滚呢?我目前是在mybatis拦截器的intercept()方法里通过getBean的方法拿到保存sql的dao然后将获取到的sql进行dao.save()的保存操作,但是这样相当于保存sql的操作其实还在sql真正执行之前,如果sql执行报错了,sql日志其实还是保存了,有没有大佬有好的解决方案啊,求助