报错原因:
mybatis3.0.0+mybatis-spring1.0.0无需注入sqlsessionFactory,整合包自己注入
mybatis3.2.2+mybatis-spring1.2.0之后必须手动注入sqlsessionFactory
因为我使用的是myBatis3.4.0+myBatis-spring1.3.0,因此,在建立Dao层的时候,必须手动注入sqlsessionFactory
解决方案:
SqlSessionFactory在spring配置文件中已经配置,该Dao继承一个Dao基类SqlSessionDaoSupport,所以要在基类中注入该属性.
public class PersonDaoImpl extends SqlSessionDaoSupport implements PersonDao{
@Resource
public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
super.setSqlSessionFactory(sqlSessionFactory);
}
}