应该使用哪个java时间对象来比较mysql datetime列?

yqyhoc1h  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(474)

我有一张这样的table

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\u 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时间对象?

q43xntqr

q43xntqr1#

mysql本身推荐 java.sql.Timestamp Map DATETIME 数据类型。
参考
但通常,人们使用 java.util.Date 为它绘制Map。

相关问题