我正在开展一个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
谢谢!
答案 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);