Dao接口工作原理简介说明
下文笔者讲述java中Dao接口的工作原理简介说明,如下所示
Dao接口简介
Dao接口:
就是我们日常所看见的****Mapper.class
这个接口的全限定名就是映射文件的namespace值
接口中的方法名就是映射文件中的MappedStatement的id值
接口方法内的参数,就是传递给sql的参数
注意事项:
Dao接口(Mapper接口)没有实现类
当调用接口方法时
接口全限名+方法名拼接字符串作为key值
可唯一定位一个MappedStatement
例:
com.mybatis3.mappers.UserDao.findUserById 可以唯一找到namespace为com.mybatis3.mappers.UserDao下id = findUserById的MappedStatement 在Mybatis中,每一个<select>、<insert>、<update>、<delete>标签,都会被解析为一个MappedStatement对象
Dao接口(Mapper接口注意事项)
Dao接口中的方法
是不能重载
因为需根据全限名+方法名 去xml中寻找唯一的sql,所以必须保证其唯一性
Dao接口工作原理:
JDK动态代理,
Mybatis运行时会使用JDK动态代理为Dao接口生成代理对象proxy
代理对象proxy会拦截接口方法调用
转而执行方法对应的sql语句,将sql执行结果返回
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


