【问题标题】:retrieving timestamp value from database using Spring JDBC Template使用 Spring JDBC 模板从数据库中检索时间戳值
【发布时间】:2014-12-05 12:52:43
【问题描述】:

我正在处理一个java Spring 项目。我正在实现密码恢复功能。在那里我需要比较两个timestamp 值,它们是当前时间和令牌到期时间。要从数据库中检索过期时间戳值,我正在使用此代码。

String sql = "SELECT expiray_time FROM recover_password WHERE token = "+token;
java.sql.Timestamp ex_time = getJdbcTemplate().queryForObject(sql, java.sql.Timestamp);

java.sql.Timestamp 类型无法识别。这种检索方式错了吗? 使用JdbcTemplate从数据库中检索时间戳数据的任何其他方式

谢谢!

【问题讨论】:

标签: java mysql spring spring-jdbc jdbctemplate


【解决方案1】:

您必须将其指定为类参数:

String sql = "SELECT expiray_time FROM recover_password WHERE token = "+token;
java.sql.Timestamp ex_time = getJdbcTemplate().queryForObject(sql, java.sql.Timestamp.class);

【讨论】:

    【解决方案2】:

    试试下面的代码:

    String sql = "SELECT expiray_time FROM recover_password WHERE token = ?";
    
    Object[] args = new Object[] {//token object};
    Object obj = getJdbcTemplate().queryForObject(sql, args, java.sql.Timestamp);
    

    或者试试这个:

    String sql = "SELECT expiray_time FROM recover_password WHERE token = "+token;
    java.sql.Timestamp ex_time = getJdbcTemplate().queryForObject(sql, new Object[] { token } , java.sql.Timestamp);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 2020-03-29
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      相关资源
      最近更新 更多