栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis接口代理方式实现dao层注意要点或实现规则,及源码实现过程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis接口代理方式实现dao层注意要点或实现规则,及源码实现过程

使用接口代理,便不需要再使用dao的实现类去实现了

实现规则

传统方式实现Dao层,我们既要写接口,还要写实现类。而MyBatis框架可以帮助我们省略编写Dao层接口实现类的步骤。
程序员只需要编写接口,由MyBatis框架根据接口的定义来创建该接口的动态代理对象。

实现规则

  • 1.映射配置文件中的名称空间必须和Dao层接口的全类名相同。
  • 2.映射配置文件中的增删改查标签的id属性必须和Dao层接口的方法名相同。
  • 3.映射配置文件中的增删改查标签的parameterType属性必须和Dao层接口方法的参数相同。
  • 4.映射配置文件中的增删改查标签的resultType属性必须和Dao层接口方法的返回值相同。

获取动态代理对象

  • SqlSession功能类中的getMapper()方法。该方法也是底层也是通过JDK动态代理方式获取。
源码分析
  • 分析动态代理对象如何生成的 ?

通过动态代理开发模式,我们只编写一个接口,不写实现类,我们通过getMapper(方法最终获取到org.apache.ibatis. binding.MapperProxy代理对象,然后执行功能,而这个代理对象正是MyBatis使用了JDK的动态代理技术,帮助我们生成了代理实现类对象。从而可以进行相关持久化操作。

  • 分析方法是如何执行的?

动态代理实现类对象在执行方法的时候最终调用了mapperMethod.execute0方法,这个方法中通过switch语句根据操作类型来判断是新增、修改、删除、查询操作,最后一步回到了yBatis最原生的SqlSession方式来执行增删改查。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274716.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号