MyBatis与Spring的整合

1.MyBatis与Spring的整合大概步骤如下:

MyBatis与Spring的整合_第1张图片

在applicationContext.xml中配置数据库属性

MyBatis与Spring的整合_第2张图片

MyBatis与Spring的整合_第3张图片

1.采用传统DAO开发方式进行MyBatis与Spring框架的整合时,可以使用mybatis-spring包中所提供的SqlSessionTemplate类或SqlSessionDaoSupport类来实现。

SqlSessionTemplate:是mybatis-spring的核心类,它负责管理MyBatis的SqlSession,调用MyBatis的SQL方法。当调用SQL方法时,SqlSessionTemplate将会保证使用的SqlSession和当前Spring的事务是相关的。它还管理SqlSession的生命周期,包含必要的关闭、提交和回滚操作。

SqlSessionDaoSupport:是一个抽象支持类,它继承了DaoSupport类,主要是作为DAO的基类来使用。可以通过SqlSessionDaoSupport类的getSqlSession()方法来获取所需的SqlSession。

DAO的实现类需要继承SqlSessionDaoSupport:

MyBatis与Spring的整合_第4张图片

MyBatis与Spring的整合_第5张图片

 

 

 

2. Mapper接口方式的开发整合(可以代替传统的DAO):MapperFactoryBean是MyBatis-Spring团队提供的一个用于根据Mapper接口生成Mapper对象的类,该类在Spring配置文件中使用时可以配置以下参数:

MyBatis与Spring的整合_第6张图片

MyBatis与Spring的整合_第7张图片

 

 

3. 基于MapperScannerConfigurer的整合,大致属性分为如下:
asePackage:指定映射接口文件所在的包路径,当需要扫描多个包时可以使用分号或逗号作为分隔符。指定包路径后,会扫描该包及其子包中的所有文件。
annotationClass:指定了要扫描的注解名称,只有被注解标识的类才会被配置为映射器。
sqlSessionFactoryBeanName:指定在Spring中定义的SqlSessionFactory的Bean名称。
sqlSessionTemplateBeanName:指定在Spring中定义的SqlSessionTemplate的Bean名称。如果定义此属性,则sqlSessionFactoryBeanName将不起作用。
markerInterface:指定创建映射器的接口。

应用实例:

MyBatis与Spring的整合_第8张图片

注意:当我们应用基于MapperScannerConfigurer的整合,在MyBatis-confige文件中也不用加载接口的对应xml文件,Mapper接口方式的开发整合的定义也可以去掉;

你可能感兴趣的:(Spring学习总结)