目录
一、Mybatis能否支持方法重载?
二、解决 MyBatis 方法重载问题的几种方法
解决方法一: (注解方式) 将重载方法命名为不同的方法名
解决方法二:采用@SelectProvider注解
解决方法三:使用 MyBatis 的 标签和动态 SQL 来构建不同参数的 SQL 查询
三、总结
一、Mybatis能否支持方法重载?
MyBatis 本身并不直接支持方法重载(method overloading)。
Mybatis中Mapper接口的工作原理
对应的关系如下:
- 接口的全限名,就是xml映射文件中的
"namespace"
的值。 - 接口的方法名,就是xml映射文件中
MappedStatement
的 "id" 值。 - 接口方法内的参数,就是传递给
SQL
的参数。
Mapper
接口是没有实现类的,当调用接口方法时,接口全限名 + 方法名拼接字符串作为 key 值,可唯一定位一个对应的 MappedStatemen