我想使用BeanProcessor填充我的类,但它部分工作。 我的课是如下BeanProcessor部分工作
ADDRES类
public class Address {
..All attributes of address class go here...
.. All setter and getters go here...
}
员工具有地址类作为其成员
public class Employee {
private int ID;
private String fname;
private String lname;
private String mobile;
private String phone;
private String email;
private String position;
private String title;
private String username;
private String password;
private String question;
private String answer;
private Address address; << address class is a member of employee class
.. All setter and getters go here....
}
我的模型类是如下:
Employee emp = new Employee();
try {
ps = con.prepareStatement("select * from employee,address "
+ "WHERE employee.username = ? AND "
+ "employee.AddID = 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("name:" + emp.getName()); << shows the name correctly
System.out.println("block:"+emp.getAddress().getBlock());<< the output is null
}
con.close();
ps.close();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
return emp;
}
当我运行该应用程序,它显示了emp对象正确填充,但它里面的Address对象不是,它为getBlock()方法返回null,我检查了数据库块有一个值。根据spiritwalker的回答吹,因为它不是抛出空指针异常转换完成correclty,如果这是错误的,你有什么建议作为BeanProcessor的替代?
NPE是一个公平的问题。你可以检查当你调用'(new Employee())时会发生什么。getAddress()。getBlock();'? – 2013-02-20 06:12:50