读书人

mybatis-spring调整总结04_Using an S

发布时间: 2012-10-19 16:53:36 作者: rapoo

mybatis-spring整合总结04_Using an SqlSession
Using an SqlSession
在Mybatis中SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。但当使用Mybatis-Spring时beans将会注入一个线程安全的SqlSession并通过Spring的事务管理自动commit,rollback,close。

由于没有必要直接使用SqlSession,大多数情况下由MapperFactoryBean把mappers注入到beans中。

SqlSessionTemplate
SqlSessionTemplate是MyBatis-Spring的核心类,它负责管理Mybatis的SqlSessions,调用Mybatis的SQL方法和翻译异常。SqlSessionTemplate基于线程安全而且可以被多个DAO共享。
当调用SQL方法(包括getMapper()返回的接口实现类),SqlSessionTemplate将会保证这个SqlSession和Spring事务相联系。并且SqlSessionTemplate管理着session的生命周期,包括commit,rollback,close
SqlSessionTemplate实现了SqlSession接口,目的是替代代码中任何地方出现的SqlSession。
SqlSessionTemplate可以通过一个类型为SqlSessionFactory的构造参数来初始化:
<


将该sqlSession注入到的类:


另外,也可以通过实现SqlSessionDaoSupport来获取SqlSessionTemplate(推荐):

读书人网 >SQL Server

热点推荐