Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać znacznik czasu w Javie i przechowywać w bazie danych MySQL?

O wiele lepszym sposobem radzenia sobie z tym jest po stronie bazy danych. Podczas tworzenia tabeli określ domyślną wartość TIMESTAMP kolumna jako

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

Przykład pokazuje CREATE TABLE dla MySQL, ale koncepcja jest taka sama. Podczas wstawiania wiersza nie podawaj żadnej wartości dla kolumny creation_date a baza danych automatycznie zapełni je za Ciebie.

Biorąc pod uwagę tę samą tabelę, jeśli chcesz wstawić datę z Javy, Twój kod powinien wyglądać tak

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

Zauważ, że musisz również otworzyć DB Connection (conn obiekt powyżej) i zamknij go, gdy skończysz. Jeśli dopiero zaczynasz korzystać z interfejsu JDBC API, zapoznaj się z Podstawy JDBC pierwszy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie mogę korzystać z MySQL z powodu odmowy połączenia

  2. Co oznaczają ikony kolumn mysql workbench

  3. Jak uzyskać listę baz danych?

  4. Wstaw wartość BIT w MySQL za pomocą PDO Prepared Statement

  5. Menu archiwum blogów PHP MYSQL według roku i miesiąca