【发布时间】:2014-08-22 14:47:27
【问题描述】:
首先,在我创建这个 dao 之前,我在一个辅助类中进行了这个操作,它运行良好。现在我在这条线上得到一个NullpointerException,我称之为dao。
Student stu = pf.getUser(request.getParameter("st_id").toString());
我试图追踪它并找到问题,但我找不到。
我是 jdbc 的新手,所以任何建议都将不胜感激。
这是我的学生道;程序甚至没有进入getUser 方法。
public class StDAO extends BaseDAO {
public Student getUser(String Id) throws Exception {
String query = "select * from students where id=" + Id;
ResultSet rs = execQuery(query);
return new Student(rs.getString("name"), Id, rs.getString("gpa"));
}
public void addUser(String id, String name, String gpa) throws Exception {
String query = "INSERT INTO students (name, id, `gpa`) VALUES ('" + name + "'," + id + "," + gpa + ")";
ResultSet rs = execQuery(query);
}
}
【问题讨论】:
-
那么,当你的代码甚至没有进入DAO时,为什么要发布它并省略调用代码呢?猜测对我来说似乎毫无用处。
-
如果没有进入getUser(),那么你的请求对象要么为null,要么不包含参数“st_id”,这将引发toString()上的空指针异常
-
我想也许我的方法和方法调用彼此不兼容。 @Smutje
-
将 request.getParameter("st_id").toString() 移动到它自己的代码行,并将其分配给 String 变量,然后将该 String 变量传递给 pf.getUser。这将帮助您进一步缩小可能出现的问题。尽可能简化每一行代码,调试代码会容易得多。
-
您的连接设置正确吗?
标签: java jdbc nullpointerexception dao