Java에서 MySQL 날짜 시간 및 타임스탬프 관리
Java 애플리케이션에서 MySQL 데이터베이스로 작업할 때 날짜 및 시간 정보 처리는 매우 어려울 수 있습니다. 사용 가능한 다양한 데이터 유형으로 인해 문제가 발생합니다. 적절한 절충안을 찾으려면 각 유형의 특성을 이해하는 것이 중요합니다.
Java의 표현
Java에서 날짜는 일반적으로 java.util로 표시됩니다. 데이트 클래스. 이 클래스는 날짜 및 시간 정보를 모두 포함하는 타임스탬프를 캡슐화합니다. java.util.Date의 정밀도는 일반적으로 밀리초 단위입니다.
MySQL의 표현
MySQL은 DATE, TIME 및 TIMESTAMP의 세 가지 표준 날짜 및 시간 유형을 제공합니다. JDBC에서 이러한 유형은 각각 java.sql.Date, java.sql.Time 및 java.sql.Timestamp에 매핑됩니다. 이러한 클래스는 java.util.Date의 하위 클래스입니다.
java.util.Date와 달리 java.sql.Date는 날짜 정보만 포함하고 java.sql.Time은 시간 정보만 포함합니다. 반면에 java.sql.Timestamp는 날짜와 시간 정보를 결합합니다. 이러한 유형의 정밀도는 데이터베이스에 따라 다르지만 밀리초 단위인 경우가 많습니다.
타임스탬프 저장
데이터베이스에 타임스탬프를 저장하려면 preparedStatement#를 사용할 수 있습니다. setTimestamp() 메소드.
java.util.Date date = getItSomehow();
Timestamp timestamp = new Timestamp(date.getTime());
preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?");
preparedStatement.setTimestamp(1, timestamp);
타임스탬프 검색
데이터베이스에서 타임스탬프를 검색하려면 ResultSet#getTimestamp() 메소드를 사용할 수 있습니다.
Timestamp timestamp = resultSet.getTimestamp("ts");
java.util.Date date = timestamp; // You can just upcast.
이러한 다양한 데이터 유형과 사용 패턴을 이해하면 MySQL 데이터베이스와 인터페이스할 때 Java 애플리케이션에서 날짜 시간과 타임스탬프를 효과적으로 관리할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3