Mybatis中mapper.xml的原理分析

Mybatis中mapper.xml的原理分析

今天想了一下,对Mybatis里面mapper(就是以前dao的接口)接口的xml文件(其实就是dao的实现类)是怎么实现的挺感兴趣,然后就debug了一下发现。
其实我们Mybatis首先是通过SqlSessionBuilder来读取xml文件,然后把这个文件的信息全部传入到了Configuration对象里面去。然后在我们sqlSession获取mapper的时候就会根据这一个Configuration的信息通过动态代理来创建对象,类似于spring中的AOP。简单来说他就是把AOP这一个动态代理的过程经过包装,包在里面。
总结:这一个接口的xml文件其实就是通过动态代理来创建接口的代理类最后来实现方法的。

你可能感兴趣的:(Mybatis学习,mybatis,java)