第一种:
传统DAO方式的开发整合
采用传统DAO开发方式进行MyBatis与Spring框架的整合时,可
以使用mybatis-spring包中所提供的SqlSessionTemplate类或
SqlSessionDaoSupport类来实现。
l SqlSessionTemplate:是mybatis-spring的核心类,它负责管理MyBatis的
SqlSession,调用MyBatis的SQL方法。当调用SQL方法时,SqlSessionTemplate
将会保证使用的SqlSession和当前Spring的事务是相关的。它还管理SqlSession
的生命周期,包含必要的关闭、提交和回滚操作。
l SqlSessionDaoSupport:是一个抽象支持类,它继承了DaoSupport类,主要是作
为DAO的基类来使用。可以通过SqlSessionDaoSupport类的getSqlSession()方
法来获取所需的SqlSession。
第二种:
Mapper接口方式的开发整合
在MyBatis+Spring的项目中,虽然使用传
统的DAO开发方式可以实现所需功能,但是
采用这种方式在实现类中会出现大量的重复
代码,在方法中也需要指定映射文件中执行语
句的id,并且不能保证编写时id的正确性(运
行时才能知道)。
为此,我们可以使用MyBatis提供的另外
一种编程方式,即使用Mapper接口编程。
MapperFactoryBean是MyBatis-Spring团队提供的一个用于根
据Mapper接口生成Mapper对象的类,该类在Spring配置文件中使用
时可以配置以下参数:
l mapperInterface:用于指定接口;
l SqlSessionFactory:用于指定SqlSessionFactory;
l SqlSessionTemplate:用于指定SqlSessionTemplate。如果与SqlSessionFactory
同时设定,则只会启用SqlSessionTemplate。