老师求助啊。

来源:2-3 JDBC实战---搭建模型层 Ⅰ

我是代代代

2015-01-18 00:52

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这个类报错,运行其余类正常)

写回答 关注

5回答

  • Preacher
    2015-01-19 10:01:41

    首先,从错误信息来看,错误发生在 goddessDao.java:27行,你也贴出了 27行的代码
    java.sql.Statement stmt=conn.createStatement();     (27行)

    看这段代码,错误为空指针,这段代码会发生空指针的地方只有 conn,你可以确定下conn是否已经获取到了,建议在这段代码前后debug运行,方便查找错误


    stephe... 回复GeekLH

    请问你是怎么解决的呢 我也遇到这个问题了

    2015-11-11 17:09:57

    共 4 条回复 >

  • qq_风逝流沙_0
    2016-03-04 18:55:00

    for(Goddess goddess:gs)为什么可以这样写,什么意思呢?

  • 彪悍大蓝猫
    2015-09-23 19:47:23

    看一下你的DBUtil中的Connection是否声明为成员变量,同时在static 块中这样写conn=DriverManager.getConnection()

  • 我是代代代
    2015-01-18 14:18:21

    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());

    }

    }

    }


    GeekLH

    这个问题最后是怎么解决的呢,还记得不,我现在也遇到了一样的问题

    2015-06-14 03:05:15

    共 1 条回复 >

  • Erik_Song
    2015-01-18 10:20:55

    g是空的吧

    我是代代代

    g是goddessDao的对象啊。而且还有一个问题,就是其他几个类运行正常,然后运行GoddessAction时报错,再返回去重新运行其他三个类的时候也报错,为什么啊

    2015-01-18 14:20:08

    共 1 条回复 >

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题