spring整合mybatis的原理分析

在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。
下面简单说明Mybatis整合到Spring的实现原理。(以后补充)

Mybatis的所有操作都是基于一个SqlSession的,
而SqlSession是由SqlSessionFactory来产生的,
SqlSessionFactory又是由SqlSessionFactoryBuilder来生成的。
但是Mybatis-Spring是基于SqlSessionFactoryBean的。
在使用Mybatis-Spring的时候,我们也需要SqlSession,
而这个SqlSession是内嵌在程序中的,一般不需要我们直接访问。
SqlSession也是由SqlSessionFactory来产生的,
但是Mybatis-Spring给我们封装了一个SqlSessionFactoryBean,
在这个bean里面还是通过SqlSessionFactoryBuilder来建立对应的
SqlSessionFactory,进而获取到对应的SqlSession。

Mybatis整合Spring的两种操作方式

1、基于接口,涉及到org.mybatis.spring.SqlSessionFactoryBean、org.mybatis.spring.mapper.MapperScannerConfigurer,该方式不需要实现DAO层操作。
2、基于实现类,涉及到org.mybatis.spring.SqlSessionFactoryBean、org.mybatis.spring.SqlSessionTemplate,该方式需要实现DAO层操作,可以做定制化的数据、安全校验。

你可能感兴趣的:(spring整合mybatis的原理分析)