У меня есть таблица, подобная следующей
CREATE TABLE 'MY_TABLE' (
'CODE' varchar(50) NOT NULL,
'ADDRESS' varchar(50) NOT NULL,
'LAST_MODIFIED_IN_UTC' datetime NOT NULL,
PRIMARY KEY ('CODE')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Вот примерная вставка, которую я делаю
INSERT INTO MY_TABLE
('CODE',
'ADDRESS',
'LAST_MODIFIED_IN_UTC')
VALUES
('PR123',
'dummy address',
UTC_TIMESTAMP(6)
);
Я использую встроенную функцию mysql UTC_TIMESTAMP (6).
Теперь в моем Java-коде я выполняю следующее в jdbcTemplate
String sql = "SELECT CODE FROM MY_TABLE WHERE LAST_MODIFIED_IN_UTC > ?";
LocalDateTime filterTime = LocalDateTime.now(Clock.systemUTC())
.minusMinutes(120);
how do I pass the localDateTime to jdbcTemplate for query.
что-то вроде этого.
jdbcTemplate.queryForList(sql, new Object[]{filterTime}, String.class);
какой объект java-времени я должен использовать здесь?
Сам MySQL рекомендует java.sql.Timestamp
сопоставлять с типом данных DATETIME
.
Но часто люди используют java.util.Date
для сопоставления.