梳理
一、为什么要整合
因为Spring有一个Ioc容器,可以集中管理Java对象,只需要将Mybatis的核心组件交给Spring管理即可
二、整合的时候的概念转换
参考上图
Mybaits | Spring |
---|---|
SqlSessionFactory | SqlSessionFactoryBean |
SqlSessionFactory#openSession#getMapper(Mapper接口对象 ) | MapperFactoryBean |
Spring | Mybatis |
---|---|
Mapper组件 | 通过getMapper获取的代理对象 |
SqlSessionFactory组件 | 通过SqlSessionFactoryBUilder创建SqlSessionFactory |
SqlSession组件 | 在前两个之间隐藏了,不需要我们手动创建,只需要在MapperFactoryBean中指定SqlSessioFactory来创建SqlSession再创建代理对象 |