总出现出现空指针为什么。我是在ssh框架下做的
publicclassdaoimpleextendsHibernateDaoSupportimplementsdao{publicbooleanislogin(Strin...
public class daoimple extends HibernateDaoSupport implements dao {
public boolean islogin(String name, String pw) {
// Configuration cfg = new Configuration().configure().addFile("com.drkj.cn.model.Student");
// //获得会话工厂对象
// SessionFactory sessionFactory = cfg.buildSessionFactory();
// //获得会话对象
// Session s = sessionFactory.openSession();
Student ss=this.getHibernateTemplate().get(Student.class, name);
// Student ss=(Student) s.get(Student.class, name);
System.out.println(ss.getPw());
if(ss.getPw().equals(pw))
return true;
return false;
}
public static void main(String ff[]){
if(new daoimple().islogin("12", "12"))
System.out.print("假的");
System.out.println("真的");
}
}
我一测试就出
Exception in thread "main" java.lang.NullPointerException
at com.drkj.cn.dao.impl.daoimple.islogin(daoimple.java:22)
at com.drkj.cn.dao.impl.daoimple.main(daoimple.java:32)
为什么啊 展开
public boolean islogin(String name, String pw) {
// Configuration cfg = new Configuration().configure().addFile("com.drkj.cn.model.Student");
// //获得会话工厂对象
// SessionFactory sessionFactory = cfg.buildSessionFactory();
// //获得会话对象
// Session s = sessionFactory.openSession();
Student ss=this.getHibernateTemplate().get(Student.class, name);
// Student ss=(Student) s.get(Student.class, name);
System.out.println(ss.getPw());
if(ss.getPw().equals(pw))
return true;
return false;
}
public static void main(String ff[]){
if(new daoimple().islogin("12", "12"))
System.out.print("假的");
System.out.println("真的");
}
}
我一测试就出
Exception in thread "main" java.lang.NullPointerException
at com.drkj.cn.dao.impl.daoimple.islogin(daoimple.java:22)
at com.drkj.cn.dao.impl.daoimple.main(daoimple.java:32)
为什么啊 展开
3个回答
展开全部
不知道你的22 32 行在哪儿。
应该是说islogin没把值传到这里
应该是说islogin没把值传到这里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从错误看是实现类有问题
你就找找 细细看daoimpl类
你就找找 细细看daoimpl类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你如果是采用SSH2的话,请问HibernateTemplate这个对象有注入吗?成功吗(就是对象不为null)?可以调试看看有无HibernateTemplate,没有在配置文件注入就可以了。
追问
我hibernate是注解形式注入的,我运行工程没有错,但是就是查询不了,我单独测试就出下现在的问题
追答
好像明白你的原因了。你测试的时候没有注入!
Student ss=this.getHibernateTemplate().get(Student.class, name);
其实就是通过父类HibernateDaoSupport来获得,而HibernateDaoSupport需要注入SessionFactory。由于你没有没有注入(你的main只是new daoimple()而已),因此导致了空指针异常。
而且一般SSH2的测试不是这样的...是利用JUnit来测试,JUnit中也结合了SSH2,这样测试方便。
而至于你说的问题查询不了,你使用的是SQL来查询就在数据库查一下有无语法错误,如果是Hibernate,就看一下你写的逻辑有没错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询