辣眼睛,为什么insert调了update方法。求大神解读。
楼主在研究mybatis的源码吗,源码这样写说明insert的本质就只执行update操作,那么update的statement语句肯定是也试用于插入操作的。
所以如果能调式,可以跟踪下update的参数statement
实际上我是在开发中遇到了这样一个错误:索引中丢失IN或OUT参数。问题是:当我发布应用,执行一个insert操作时,第一次能插入成功,第二次再执行时,报错:索引中丢失IN或OUT参数8,然而sql语句总共只有7个参数,让我百思不得其解,于是跟踪了一下代码,发现mabtis的底层竟然insert最终调用的update,于是乎我在mapper文件中将插入的sql标签insert换成update,竟然神奇般的解决了这个问题,我在想这是不是mybatis-3.2.1.jar的一个bug,晚上我看一下更高级的版本,底层代码是否还是这样。。。