【发布时间】:2013-02-18 05:05:21
【问题描述】:
我正在使用以下内容将检索到的值添加到类中。所有值都将添加到类的属性中,但我使用的是 compisition(在类中有一个类对象)并且它在输出中不显示任何内容。
class employee
{
....
private Address address = new Address();
.....
}
...
Employee emp = new Employee();
try {
ps = con.prepareStatement("select * from employee,address "
+ "WHERE employee.username = ? AND "
+ "employee.ADD_ID = address.ID");
ps.setString(1, username);
ResultSet r = ps.executeQuery();
if (r.next()) {
BeanProcessor bp = new BeanProcessor();
emp = bp.toBean(r,Employee.class);
System.out.println("blockkkk:"+emp.getAddress().getBlock());
//output of above line is blockkkk:null
}
con.close();
ps.close();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
return emp;
地址类如下:
public class Address {
.....
private String block;
....
public String getBlock() {
return block;
}
public void setBlock(String block) {
this.block = block;
}
....
}
【问题讨论】:
-
NPE指向哪里?
-
很有可能,当您的
BeanProcessor创建 emp 对象时,它不会通过为其创建新实例来初始化您的Address对象,在您的Employee对象中。一定要检查一下
标签: java database javabeans resultset