参考:https://www.iteye.com/blog/fhd001-1127332
SqlSessionDaoSupport抽象的支持类,用来为你提供SqlSession。调用getSqlSession()方法你会得到一个SqlSessionTemplate,这然后可以用于执行SQL方法。
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao{
public User getUser(String userId){
return (User)getSqlSession().selectOne
("org.mybatis.spring.sample.mapper.UserMapper.getUser",userId);
}
}
通常MapperFactoryBean是这个类的首选,因为它不需要额外的代码。但是,如果你需要在DAO中做其它非MyBatis的工作或需要具体的类,那么这个类就是很有用了。SqlSessionDaoSupport需要一个sqlSessionFactory或sqlSessionTemplate属性来设置。这些被明确地设置或由Spring来自动装配。如果两者都被设置了,那么sqlSessionFactory是被忽略的。
假设类UserMapperImpl是SqlSessionDaoSupport的子类,它可以在Spring中进行如下的配置:
<bean id="userMapper" class="org.mybatis.spring.sample.mapper.UserMapperImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
本文介绍如何通过SqlSessionDaoSupport类简化MyBatis中DAO的实现,展示了如何利用该支持类获取SqlSession并执行SQL操作。同时,讨论了在特定场景下选择SqlSessionDaoSupport而非MapperFactoryBean的理由。
225

被折叠的 条评论
为什么被折叠?



