【问题标题】:Retrieving Timestamp data from DB using Mysql使用 Mysql 从数据库中检索时间戳数据
【发布时间】:2015-05-14 12:52:09
【问题描述】:

我有一个 Java MVC 模型。它的时间戳是已插入 DB 的 DB 值之一。我已将数据类型声明为 DB 中的时间戳,现在问题是如果我尝试检索它显示为 null值 & 不能表示为 java.sql.Timestamp

声明:

pstmt = con.prepareStatement("SELECT timestamp, FROM nid where id=?");
pstmt.setDouble(1, nidev);
            rs = pstmt.executeQuery(); 
            if(rs.next())
            {  
                timeBean.setHbtimestamp(rs.getTimestamp("timestamp"));

            } 

豆类:

private Timestamp hbtimestamp;

public Timestamp getHbtimestamp() {
    return hbtimestamp;
}
public void setHbtimestamp(Timestamp hbtimestamp) {
    this.hbtimestamp = hbtimestamp;
}

MyDB值插入成功:2015-05-14 15:45:57

输出:值 '0000-00-00 00:00:00' 不能表示为 java.sql.Timestamp

【问题讨论】:

  • Hbtimestamp的类型是什么后发代码
  • 在设置之前先打印rs.getTimestamp("timestamp")的值。
  • 数据类型为时间戳
  • 这就是我得到的值 '0000-00-00 00:00:00' 不能表示为 java.sql.Timestamp
  • 请检查修改后的代码

标签: java mysql


【解决方案1】:

在你的 MySQL 中设置

zeroDateTimeBehavior=convertToNull 

那么空的时间戳值将被解释为 NULLs

解释得很好here

【讨论】:

  • 对不起,我没有得到,你能帮帮我吗
  • 我将这个添加到 URL 中并转换为 null
  • jdbc:mysql://localhost:3306/acc_dev_db?zeroDateTimeBehavior=convertToNull
  • 不,我得到的是 Null 值,我想要 DB 中的时间戳
猜你喜欢
  • 1970-01-01
  • 2019-08-09
  • 2011-07-08
  • 2012-06-09
  • 1970-01-01
  • 2015-06-13
  • 2018-08-30
  • 2020-03-29
  • 1970-01-01
相关资源
最近更新 更多