我正在用java制作一个程序。我正在使用以下代码
u.setLastlogin(new java.util.Date());
上面的函数接受参数,java.util.Date
但我想将此值存储在列类型为的数据库表中timestamp
?
任何人都可以帮助如何编码,以便我可以在表中插入系统的当前时间戳。谢谢。
您可以转换Date
为Timestamp
如下:
Timestamp timestamp = new Timestamp(date.getTime());
如果你想要当前日期的时间戳:
new Timestamp(System.currentTimeMillis())
Date now = new Date();
now.getTime();
您也可以只发出一条 SQL 语句:
UPDATE MY_TABLE SET LAST_LOGIN = NOW();
这是针对 MySQL 的。您还应该会发现这很有帮助:MySQL 日期和时间函数
编辑 按照 Rambo 的要求,将列的默认值设置为实际时间戳(根据MySQL:ALTER TABLE 语法和MySQL 数据类型默认值):
ALTER TABLE MY_TABLE ALTER MY_TIMESTAMP COLUMN SET DEFAULT CURRENT_TIMESTAMP;
使用 JPA:
使用以下命令注释 lastLogin:@Temporal(TemporalType.TIMESTAMP)
使用 JDBC:
用这个来java.sql.Timestamp timestamp = new java.sql.Timestamp(new Date().getTime());
u.setLastlogin(timestamp);