急求?this.getHibernateTemplate()为null
Dao层代码如下:
public class DepartmentDaoImpl extends HibernateDaoSupport implements DepartmentDao {
private SessionFactory sessionFactory;
public void selectallpart() {
System.out.println("=========selectallpart===========");
System.out.println(this.getHibernateTemplate());//这里输出null
List list=null;
Session session=null;
Transaction tx=null;
try{
session=this.getHibernateTemplate().getSessionFactory().openSession();//报空指针错误!
tx=session.beginTransaction();
Query query=session.createQuery("select d from Department d");
list=query.list();
for (Iterator iter = list.iterator(); iter.hasNext();) {
Department object = (Department) iter.next();
System.out.println();
}
tx.commit();
}catch(Exception e)
{
e.printStackTrace();
tx.rollback();
}finally{
session.close();
}
}
}
问题补充:
我在做登录的时候没有遇到问题,那应该不是整体的配置文件的错误……
------解决方案--------------------
spring的东西都依赖于配置文件,而你的这个类DepartmentDaoImpl 需要数据库持久化操作,而这个操作需要sessionFactory支持,正常来讲,如果你配置好了,也启用了这个配置文件,那么是没有问题的。虽然你说了最后一句话,还是检查一下为好。