mapper接口(Dao接口)的工作原理简介说明
下文笔者讲述mapper接口的工作原理,如下所示
mapper接口的简介
mapper接口是我们通常所说的DAO接口
但是实际运行的sql脚本是存储在 注解中
或
xml文件中
那么java代码如何获取相应的sql并运行呢?
下文笔者将一一道来,如下所示
mapper接口的示例分析
例:
com.mybatis3.mappers.StudentDao.findStudentById
可以唯一找到
namespace为com.mybatis3.mappers.StudentDao
下面
id = findStudentById的MappedStatement
在Mybatis中
每一个<select>、<insert>、<update>、<delete>标签
都会被解析为一个MappedStatement对象
注意事项:
Dao接口里的方法
是不能重载
因为是全限名+方法名的保存和寻找策略
需要保证全限名+方法名的唯一性
mapper接口工作原理
Mapper接口的工作原理是JDK动态代理,
Mybatis运行时会使用JDK动态代理为Dao接口生成代理对象proxy,
代理对象proxy会拦截接口方法调用,
转而运行方法对应的sql语句,
然后将sql执行结果返回
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


