mybatis动态代理剖析

来源:互联网 发布:易语言安卓远控源码 编辑:程序博客网 时间:2024/05/05 18:55

   在企业开发中,我们的web项目会根据项目的业务要求及规模进行选择理想的框架进行组合,今天我浅谈一下持久层的一个优秀的框架-mybatis

    我们都知道,mybatis是一个很灵活的持久层框架,在开发中我们经常用到动态代理模式进行持久层的处理,那么其原理是什么呢?

    1.首先我们搭建好mybatis的运行环境,配置我们的数据源等信息,然后编写我们的实体类,然后编写我们的动态代理接口,比如实体类:user,mapper配置userMapper.xml,接口名userMapper如下

     

编写我们的测试类:

   

通过断点调试得知运行原理如下图:

     

有上图执行过程可知:加载配置文件--》获取sqlsession接口--》调用sqlsession默认实现--》通过config对象的getMapper()方法获取配置文件中配置接口信息,--》通过MapperRegistry对象绑定代理对象从而灵活的调用我们的业务方法。

    

原创粉丝点击