我有一个自动生成的时间戳,每次在 mysql 表中插入或更新记录时都会创建该时间戳。有没有办法以类似于我如何使用密钥持有者返回新创建的 ID 的方式返回此时间戳?
KeyHolder keyHolder = new GeneratedKeyHolder();
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
//Insert Contact
jdbcTemplate.update(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
PreparedStatement preparedStatement = connection.prepareStatement(SQL_ADD, Statement.RETURN_GENERATED_KEYS);
preparedStatement.setString(1, contact.getFirstName());
preparedStatement.setString(2, contact.getLastName());
preparedStatement.setInt(3, contact.getOrganizationId());
preparedStatement.setString(4, contact.getType());
preparedStatement.setInt(5, contact.getUserId());
return preparedStatement;
}
}, keyHolder);
//Use keyholder to obtain newly created id
contact.setId(keyHolder.getKey().intValue());
有什么方法可以返回新的时间戳而不必重新查询表?我一直在寻找将它与 id 一起作为密钥持有者中的密钥返回的方法,但它似乎没有作为密钥返回?