参考答案
Mapper接口中不能根据参数不同进行重载。
原因:
- MapperedStatement 的 id 属性值等于 Mapper 接口的 包名.接口名.方法名 作为 key 添加到 Configuration 对象的 Map 结构的 mappedStatements 属性里。
- 查找 MapperedStatement 执行 SQL 时,也是根据 Mapper 接口的 包名.接口名.方法名 作为 SqlCommand 的 name 属性值,在 Configuration 对象的 mappedStatements 找到对应的 MapperedStatement 对象。
- 即接口中方法名相同, key 就相同,只能获取一个 MapperedStatement 对象,无法重载。
以上,是MyBatis面试题【Mapper接口中可以根据参数不同进行重载吗,原因是什么】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—