mybatis中xml文件中方法不可以重载---你知道吗?
下文笔者讲述mybatis中mapper的xml文件原理说明
Mapper接口的工作原理: 采用JDK动态代理 Mybatis运行时会使用JDK动态代理为Mapper接口生成代理对象proxy 代理对象会拦截接口方法 使用类的全限定名+方法名 唯一定位到一个MapperStatement并调用执行器执行所代表的sql 然后将sql执行结果返回 从上述的运行原理,我们可以Mapper接口中的方法不能重载 因为拦截方法时,并没有检测方法参数 注意事项: 1.Dao接口就是我们通常说的Mapper接口 接口的全限名 就是映射文件中的namespace的值 接口的方法名 就是映射文件中Mapper的Statement的id值 接口方法内的参数 就是传递给sql的参数 2.调用接口方法时,只需使用全限名+方法名拼接字符串作为key值 然后定位到MapperStatement 3.在Mybatis中 每一个SQL标签 如<select>、<insert>、<update>、<delete>标签 都会被解析为一个MapperStatement对象例:
com.mybatis3.mappers.UserDao.findUserById 可以唯一找到namespace为com.mybatis3.mappers.UserDao 下 id 为 findUserById 的 MapperStatement
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。