2012-04-26 81 views
1

我有这个在我的模型:如何从MySQL数据库检索TIMESTAMP值

public Timestamp getDateadded() { 
    return dateadded; 
} 

/** 
* @param dateadded the dateadded to set 
*/ 
public void setDateadded(Timestamp dateadded) { 
    this.dateadded = dateadded; 
} 

这是用我的数据访问对象获取并从数据库中设置时间:

while(rs.next()) 
     { 
      comment = new Comment(); 
      comment.setDetails(rs.getString("details")); 
      comment.setDateadded(rs.getTimestamp("dateadded")); 
      comment.setUrgency(rs.getInt("urgency")); 
      commentList.add(comment); 
     } 

获取值后,将值设置为一个arrayList,该arrayList被转发到一个页面并使用JSTL输出。

但是,我不明白为什么它不显示任何结果。

DEBUGGING TRIED: 我打印了一个非null的arrayList,并且得到了类似[[email protected]]的内容,当我打印COMMENT的值(出错的那个)时,打印输出只是[ ]

所以这意味着在arrayList中有一个错误。

你们谁会知道我的代码有什么问题吗?

+0

我不知道这个问题如何与检索时间戳有关。它看起来像你的'rs.next()'从不返回'true'。到目前为止,问题并没有出现在代码中。这很可能是SQL字符串或您如何存储/返回列表的方式。在不相关的说明中,您不应该在模型中使用'java.sql.Timestamp'。仅在DAO类中使用它。改为在你的模型中使用'java.util.Date'。在DAO中,你可以上传('Timestamp'是'Date'的一个子类)。 – BalusC 2012-04-26 05:43:22

回答

0

把调试放在ResultSet,确定它有数据或其内循环代码?

+0

你是什么意思把调试?我不认为rs有数据,因为当我打印数组的结果时,它只有一个[]而不是[数组]中有[]的[[email protected]]。 – gwafito 2012-04-26 02:04:34

+0

如果rs没有data..List将为空。你能否描述你面临的问题?... – 2012-04-26 08:39:22