如何在Java中获取时间戳并存储在MySQL数据库中?
我正在使用MVC padagim开发一个基本的CMS,它使用JSP/Servlet技术。 当一个新的帖子被添加时,我想得到帖子创建的日期和时间,并将其存储为TIMESTAMP或DATATIME数据类型。 最好的方法是什么?我该怎么做 算法应该是这样的 在java web程序中(如servlet)如何在Java中获取时间戳并存储在MySQL数据库中?,mysql,jsp,date,servlets,timestamp,Mysql,Jsp,Date,Servlets,Timestamp,我正在使用MVC padagim开发一个基本的CMS,它使用JSP/Servlet技术。 当一个新的帖子被添加时,我想得到帖子创建的日期和时间,并将其存储为TIMESTAMP或DATATIME数据类型。 最好的方法是什么?我该怎么做 算法应该是这样的 在java web程序中(如servlet) 获取时间戳(当前时间) 将时间戳存储在变量中 通过sql查询将时间戳存储在mysql数据库中 请帮忙 我已经看到了很多答案,但我不理解这些,因为我对Java和jsp技术非常陌生 更好的处理方法是在数据库
我已经看到了很多答案,但我不理解这些,因为我对Java和jsp技术非常陌生 更好的处理方法是在数据库端。创建表时,将
时间戳
列的默认值指定为
CREATE TABLE posts (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL,
creation_date TIMESTAMP DEFAULT NOW()
);
该示例显示了MySQL的CREATE TABLE
,但概念相同。插入行时,不要为列creation\u date
指定任何值,数据库将自动为您填充该列
给定相同的表,如果您想从Java插入日期,代码应该如下所示
// Get current time
Timestamp now = new Timestamp(new Date().getTime());
try {
// Prepare INSERT through Connection
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO posts (title, creation_date) VALUES (?, ?)");
// Bind values
stmt.setString(1, title);
stmt.setTimestamp(2, now);
// Insert
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
请注意,您还需要打开一个DB
连接
(上面的conn
对象),并在使用完毕后将其关闭。如果您不熟悉JDBCAPI,请先看一看。preparedStatement.setTimestamp(1,new Timestamp())代码>?非常感谢。太棒了!:)但如果你也能解释一下我的提问方式,这会提高我的理解力knowledge@HarishR用Java更新了我的答案。非常感谢:)将能够继续我的大学项目!