mybatis mapper接口方法不能重载

转载来源:http://blog.****.net/feiye_wine/article/details/47173005

在mybatis框架中,写dao层的mapper接口时,是不可以进行方法的重载的,下面是截图证明:

当mapper接口中有方法的重载时,会出现异常:

这是mapper接口中定义的两个方法,进行重载:

mybatis mapper接口方法不能重载   


这是mapper.xml中进行的映射:

mybatis mapper接口方法不能重载      


这是运行后出现的异常:

mybatis mapper接口方法不能重载


当不进行方法的重载时,即:每个方法都有唯一的命名时,在xml中进行映射后,就可以执行,不会出现异常。

所以mybatis中mapper.xml是不会准确映射到Java中的重载方法的。最好不要在mapper接口中使用方法重载。


具体原因可以参考这篇博客,作者对源码进行了追踪。

http://blog.****.net/unix21/article/details/52239514