好久没用List去保存一个JDBC查询结果,查询出来的ResultSet只执行了一次,然后就报NullPointException。明明数据库中有数据,就是执行不了第二次,一到把对象添加到list上面就直接报异常,郁闷了半天。
Java代码
publicListgetTerm(Stringuser){
Listtermlist=null;//这里出现问题,没有new一个List
//改为Listtermlist=newArrayList();,
//new一个ArrayList就没事了,日,以前初学的时候也得过这种问题...汗
try{
con=DBPool.getPool().getConnection();
ps=con.prepareStatement("select*fromgps_termcodetablewherekh_user=?");
ps.setString(1,user);
rs=ps.executeQuery();
while(rs.next()){
Terminalterm=newTerminal();
Stringnumber=rs.getString("hm_number");
Stringnick=rs.getString("mc_nick");
term.setZhNumber(number);
term.setLisence(rs.getString("mc_nick"));
termlist.add(term);
}
rs.close();
ps.close();
con.close();
}catch(SQLExceptionex){
Logger.getLogger(GetTerminal.class.getName()).log(Level.SEVERE,null,ex);
}
returntermlist;
}public List getTerm(String user){
List termlist= null;//这里出现问题,没有new一个List
//改为List termlist= new ArrayList();,
//new一个ArrayList就没事了,日,以前初学的时候也得过这种问题...汗
try {
con = DBPool.getPool().getConnection();
ps =con.prepareStatement("select * from gps_termcodetable where kh_user=?");
ps.setString(1, user);
rs = ps.executeQuery();
while(rs.next()){
Terminal term = new Terminal();
String number = rs.getString("hm_number");
String nick = rs.getString("mc_nick");
term.setZhNumber(number);
term.setLisence(rs.getString("mc_nick"));
termlist.add(term);
}
rs.close();
ps.close();
con.close();
} catch (SQLException ex) {
Logger.getLogger(GetTerminal.class.getName()).log(Level.SEVERE, null, ex);
}
return termlist;
}
后面才发现没有new一个ArrayList,郁闷了,还犯这种错误,久了没用也会生疏