未正确检索Pojo值

时间:2017-03-29 12:11:37

标签: java jdbc

我有一个POJO的ArrayList,我从JDBC检索的结果集中填充,当在while循环的第一个System.out.print语句中时,使用getStatus方法完美地检索数据,但是,在检入时在该循环之后的循环中,getStatus的返回值为null。

P.S。 status字段是一个String对象,带有普通的getter和setter,没什么特别的。

while (result.next()) {
    POJO recordPojo = new POJO();
    recordPojo.setRefNo(result.getString(3));
    recordPojo.setSubmittedBy(result.getString(1));
    recordPojo.setCreatedDate(result.getDate(2).toString());
    recordPojo.setGuid(result.getString(4));
    recordPojo.setStatus(result.getString(5));
    System.out.println(" DBOPERATIONS  RESULT Ref No ----" + result.getString(3) + "      ===== " + result.getString(5) + " ====== " + recordPojo.getStatus());
    arryObj.add(recordPojo);
}
POJO x;
for (int k = 0; k < arryObj.size(); k++) {
    x = (POJO) arryObj.get(k);
    System.out.println(" DBOPERATIONS Ref No ----" + x.getRefNo() + "      ===== " + x.getSubject());
}

1 个答案:

答案 0 :(得分:3)

我认为这就像一个拼写错误(主题不是状态),但我会给你一个简短的解释:我认为你的第二个System.out.println()循环错误{{} 1}},你不能在结果之前填写这个字段,所以很清楚它是x.getSubject()

所以你有两个选择:

  • 在循环结果时填写此字段
  • 或打印正确的字段而不是null,您应该打印x.getSubject()(它们不一样)