我正在开发一个基本的CMS使用JSP / Servlet技术使用MVC padagim。 添加新帖子时,我想获取帖子创建的日期和时间,并将其存储为TIMESTAMP或DATATIME数据类型。 最好的方法是什么?我该怎么做?
算法应该是这样的
在java web程序(如servlet)中
请帮忙!
我已经看到很多答案,但我不了解这些,因为我对Java和jsp技术都很陌生!
答案 0 :(得分:1)
处理此问题的更好方法是在数据库端。创建表时,请将TIMESTAMP
列的默认值指定为
CREATE TABLE posts (
id INTEGER AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL,
creation_date TIMESTAMP DEFAULT NOW()
);
该示例显示了MySQL的CREATE TABLE
,但概念是相同的。插入行时,不要为列creation_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();
}
请注意,您还需要打开数据库Connection
(上面的conn
对象)并在完成后关闭它。如果您是JDBC API新手,请先查看JDBC Basics。