728x90
반응형
빈즈에서 데이터형 timestamp형으로 지정해서

currentTimeMillis()로 집어넣어

무리없이 다 돌아가는데요..

2009-04-19 14:01:48.0  으로 표시되는걸

2009-04-19 로바꾸고싶은데..

어떤방식으로 하면 좋을지요..?

DB에 넣을때 바꿔야할거 같은데...

자세히좀 알려주셨으면 합니다!

 

 

 

 

 

 

 

 

 

SQL작업을 위한 별다른 라이브러리나 프레임워크를 사용하지 않고,
Statement나 PreparedStatememt를 사용한다는 가정하에 설명을 하겠습니다.

일단 Statement를 사용한다면 형변환이 당연히 필요합니다.
저 같은 경우는 

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
.... 중략 ....
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String date = format.format(timestamp);

이런 식이라면 Timestamp형 객체를 년-월-일 문자열로 변환할 수 있습니다.

그러나 PreparedStatement를 사용한다면 굳이 그럴 필요가 없습니다.

import java.sql.*;
... 중략 ...

          Connection conn = null;
          PreparedStatement pstmt = null;
          
          String url = "여기에 DB 접속 URL이 필요함";
          
          try{
               conn = DriverManager.getConnection(url);

               String sql = "INSERT INTO some_table (date) VALUES (?)";

               pstmt = conn.prepareStatement(sql);
               pstmt.setTimestamp(1, timestamp); //첫번째 물음표에 timestamp 값을 적용
               pstmt.executeUpdate();
          }catch(Exception e){
               e.printStackTrace();
          }finally{
               conn.close();
               pstmt.close();
          }

실제 현업에서 위와 같이 쓸 일은 거의 없겠습니다만,
기본적인 유형으로는 저렇습니다-

그럼 안녕히~

www.hyeongkyu.net

 

 

 

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,