>데이터 베이스 >MySQL 튜토리얼 >Java와 MySQL은 날짜 시간과 타임스탬프를 어떻게 처리합니까?

Java와 MySQL은 날짜 시간과 타임스탬프를 어떻게 처리합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-10 00:53:11314검색

How Do Java and MySQL Handle Datetimes and Timestamps?

Java에서 MySQL 날짜 시간 및 타임스탬프와 상호 작용

Java 애플리케이션에서 MySQL 데이터베이스의 날짜 시간과 타임스탬프를 모두 사용하는 경우 다음이 필수적입니다. 이러한 데이터 유형이 두 가지 모두에서 어떻게 표현되고 처리되는지 이해합니다. 환경.

Java 표현

Java에서 날짜는 일반적으로 날짜와 시간 정보를 밀리초 단위의 정밀도로 캡슐화하는 java.util.Date 클래스를 사용하여 표현됩니다.

MySQL 표현

MySQL에는 세 가지 주요 날짜 및 시간 데이터 유형이 있습니다.

  • DATE: 날짜 부분(년, 월, 일)만 저장합니다.
  • TIME: 시간 부분(시, 분, 초)만 저장합니다.
  • TIMESTAMP: 두 시간 모두 저장합니다. 날짜 및 시간 부분.

Java와 MySQL의 상호 작용

MySQL에서 TIMESTAMP 값을 Java로 검색하면 결과가 java.sql에 저장됩니다. .Timestamp 객체는 java.util.Date의 하위 클래스입니다. preparedStatement를 사용하여 MySQL에 날짜를 삽입할 때 setTimestamp() 메소드를 사용하여 매개변수 값을 Timestamp 객체로 설정해야 합니다.

예제 코드

시연하려면 Java에서 MySQL 날짜 시간 및 타임스탬프와 상호 작용하는 방법은 다음을 고려하십시오. 코드:

import java.sql.*;

public class DatetimeExample {

    public static void main(String[] args) throws SQLException {
        // Establish a connection to the MySQL database
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name", "username", "password");

        // Get a timestamp object representing the current date and time
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());

        // Create a prepared statement to insert data into the database
        PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO events (event_date, event_time) VALUES (?, ?)");

        // Set the timestamp value as the first parameter
        preparedStatement.setTimestamp(1, timestamp);

        // Set the second parameter as the time part of the timestamp
        preparedStatement.setTime(2, new Time(timestamp.getTime()));

        // Execute the insert statement
        preparedStatement.executeUpdate();

        // Retrieve the inserted data using a result set
        ResultSet resultSet = preparedStatement.executeQuery("SELECT event_date, event_time FROM events WHERE event_id = (SELECT LAST_INSERT_ID())");

        // Get the timestamp from the result set
        Timestamp retrievedTimestamp = resultSet.getTimestamp("event_date");

        // Convert the timestamp to a Java date
        Date retrievedDate = new Date(retrievedTimestamp.getTime());

        // Print the retrieved date and time
        System.out.println("Retrieved date: " + retrievedDate);
        System.out.println("Retrieved time: " + new Time(retrievedTimestamp.getTime()));
    }
}

이 예에서는 Timestamp 개체를 사용하여 날짜와 시간 부분을 모두 MySQL 데이터베이스에 삽입하고 이를 Java의 날짜 및 시간 개체로 검색하는 방법을 보여줍니다.

위 내용은 Java와 MySQL은 날짜 시간과 타임스탬프를 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.