Exception in thread "main" java.lang.NullPointerException
at com.jdbc.moddle.goddessDao.query(goddessDao.java:27)
at com.jdbc.moddle.GoddessAction.main(GoddessAction.java:9)
总是提示这个错误啊,我和你的代码就是这块有区别:
java.sql.Statement stmt=conn.createStatement(); (27行)
List<Goddess> gs=g.query(); (9行,此行和你的一样,但报错)
我的不能写Statement,必须写成java.sql.Statement形式的,但是运行时就报那个错误。(运行GoddessAction这个类报错,运行其余类正常)
首先,从错误信息来看,错误发生在 goddessDao.java:27行,你也贴出了 27行的代码
java.sql.Statement stmt=conn.createStatement(); (27行)
看这段代码,错误为空指针,这段代码会发生空指针的地方只有 conn,你可以确定下conn是否已经获取到了,建议在这段代码前后debug运行,方便查找错误
for(Goddess goddess:gs)为什么可以这样写,什么意思呢?
看一下你的DBUtil中的Connection是否声明为成员变量,同时在static 块中这样写conn=DriverManager.getConnection()
public class GoddessAction {
public static void main(String[] args) throws Exception {
goddessDao g=new goddessDao();
List<Goddess> gs=g.query();
System.out.println("456");
for(Goddess goddess:gs){
System.out.println(goddess.getUser_name()+","+goddess.getAge());
}
}
}
g是空的吧