Используйте PreparedStatement
для выполнения оператора SQL, например:
Date date = ...;
PreparedStatement ps = connection.prepareStatement("INSERT INTO mytable (this, that, datecol) values (?, ?, ?)");
ps.setString(1, "hello");
ps.setString(2, "world");
ps.setTimestamp(3, new java.sql.Timestamp(date.getTime()));
ps.executeUpdate();
Когда вы делаете это так, вы позволяете драйверу JDBC преобразовывать его в формат, который ожидает база данных, чтобы ваша программа могла оставаться независимой от базы данных (вам не нужно иметь дело с форматированием так, как ожидает MySQL это сам).
При запросе к базе данных также используйте PreparedStatement
и используйте метод getTimestamp()
для ResultSet
, чтобы получить дату как java.sql.Timestamp
объект.