简介:
Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
这个错误估计很多人遇到过,特别都用注解的情况下。注意下面标红的部分,有兴趣的可以看下sqlSessionTemplate源码,一看就知道了。
配置文件:applicationContext.xml
<!-- SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
Dao实现代码:
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
private SqlSessionTemplate sqlSessionTemplate;
public SqlSessionTemplate getSqlSessionTemplate() {
return sqlSessionTemplate;
}
@Resource(name="sqlSessionTemplate")
public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
super.setSqlSessionTemplate(sqlSessionTemplate);
}
@Override
public void save(User user) {
}
@Override
public List<User> findAll() {
List<User> users = getSqlSession().selectList(
// User.class.getClass().getName() + ".findAll");
"com.bankht.demo.entity.User.findAll");
for (int i = 0; i < users.size(); i++) {
System.out.println(users.get(i).getUsername());
}
return users;
}