본문 바로가기

MYSQL

[mysql] [java] java.util.Date & java.sql.Date // 자바 Date 타입 <-> 데이터베이스 timestamp 타입 간 변환

java.util.Date

년,월,일 시,분,초 를 가지고 있다.

 

자바가 직접적으로 사용하는 타입이다.

 

 

java.sql.Date

java.util.date를 상속받는다.

하지만, 값을 가져올 때 년,월,일 까지만 가져온다.

 

자바에서, sql로 데이터베이스에 값을 넣을 때 사용하는 타입이다.

 

데이터베이스 타입과 비교

자바

1. Date : 날짜와 시간(년월일 시분초)

 

데이터베이스 

1. date : 날짜

2. time : 시간

3. timestamp(mysql은 datetime) : 날짜와 시간

 

 


데이터베이스의 timestamp -> 자바 java.util.Date

- getTimestamp() 사용

- 자바의 Date 타입으로 자동으로 upper casting 된다

Date create_date = rs.getTimestamp("create_date");

 

 

자바 java.util.Date -> 데이터베이스 timestamp

// 1. java.util.Date 객체
java.util.Date date = {2022-09-07 18:15:12}

// 2. java.util.Date 객체에서 getTime() -> 새로운 java.sql.Timestamp 객체 만들기
java.sql.Timestamp sqlTimeStamp = new java.sql.Timestamp(date.getTime())