使用Spring JDBC Template从数据库中检索时间戳值

时间:2014-12-05 12:52:43

标签: java mysql spring spring-jdbc jdbctemplate

我正在开展一个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

从数据库检索时间戳数据的任何其他方法

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

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);

答案 1 :(得分:0)

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

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