Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
230 views
in Technique[技术] by (71.8m points)

jsp - How to obtain a timestamp in Java and store in MySQL database?

I'm developing a basic CMS uses JSP/Servlet Technology using the MVC padagim. When a new post is added I want to get the date and time the post was created and store it as TIMESTAMP or DATATIME data type. What is the best way to do it? And how do I Do it?

The algorithm should be like this

In a java web program (such as servlet)

  1. Get Time stamp (current time)
  2. Store in time stamp in a variable
  3. Pass sql query to store the timestamp in mysql db

Please help!

I have seen many answers, but I Don't understand those as I'm quite new to Java and jsp technology!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

A much better way to handle this is at your database side. While creating the table specify the default value for the TIMESTAMP column as

CREATE TABLE posts (
    id INTEGER AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50) NOT NULL,
    creation_date TIMESTAMP DEFAULT NOW()
);

The example shows a CREATE TABLE for MySQL but the concept is the same. While inserting your row, just don't specify any value for the column creation_date and the database will auto populate it for you.


Given the same table, if you want to insert the date from Java, your code should look like

// 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();
}

Note, that you would also need to open a DB Connection (the conn object above) and close it when you're done with it. If you're new to JDBC API, take a look at JDBC Basics first.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...