2013-01-04 3 views
1

날짜와 시간을 삽입하려고하는데 날짜 만 변경됩니다. 나는 데이터베이스를 검사 할 때 시간 00:00날짜 만 데이터베이스에 쓸 수 없습니다. 시간이 무시됩니다.

public void suspendPart(String partId, String startDate, 
    String reasonCode, String endDate) throws DAOException { 
    System.out.println("original date: "+startDate); //output: original date: 04/01/2013 08:42 
    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm"); 
    Map<String, Object> params = new HashMap<String, Object>(); 
    params.put("p_id", Integer.parseInt(partId)); 
    Date dateTest = DAOUtils.parseDate(startDate, format); 
    System.out.println("date after format " +dateTest); // output: date after format Fri Jan 04 08:42:00 GMT 2013 
    params.put("p_start_date", dateTest); 
    parts_package_add_part.execute(params); 
} 

나는 그것이 한 번 작동하도록 관리하지만 방법을 몰라 항상이다. 나는 데이터베이스를 확인하고 적절한 시간을 가진 행을 보았을 때 이미 코드를 엉망으로 만들었으므로 잃어 버렸습니다.

내가 뭘 잘못하고 있는지 누가 알 수 있습니까?

편집 : SP 선언

parts_package_add_part = SpringStoredProcedure 
       .getStoredProcedureCompiled(getJdbcTemplate(), false, 
         "parts_package.add_part", 
         new SqlParameter("part_id", OracleTypes.NUMBER), 
         new SqlParameter("p_start_date", OracleTypes.DATE)); 

편집 : 나는 데이터베이스를 변경할 수 없습니다. 적어도 쉽게는. 내가 PLSQL 개발자가 그것을 할 일이 필요하고 일 걸릴 것입니다

+0

을 데이터와 시간을 저장할 데이터베이스 테이블도에서 타임 스탬프 데이터 유형을 사용하려고? 타임 스탬프? –

+0

@ShashankKadne 날짜 유형입니다. – code511788465541441

답변

2

나는 최근에 simular 문제가 발생했습니다. 내 솔루션 데이터베이스 테이블 및 Java java.sql.Timestamp 클래스에서 Oracle 데이터 형식으로 TIMESTAMP 사용했습니다. 일치하는 좋은 ...

2

타임 스탬프를 사용하면 도움이 될 수 있습니다. 데이트를 db로 저장하는 데 사용되는 데이터 유형은 무엇입니까? 그것은 Date 유형 일 수 있습니다. 이를 타임 스탬프/날짜 시간으로 변환하면 도움이됩니다.

1

안녕하세요 자바 코드의 사용을 java.sql.Timestamp 당신을 위해 모두 데이터 유형은 당신이 데이터베이스에 사용하는 무엇 감사

관련 문제