2013-02-28 3 views
0

자바 쿼리에서 SQL 테이블에 날짜를 삽입하고 joda 시간 API를 사용하여 프로그램에서 호출 할 때 날짜를 얻는 방법. 내가 joda time API를 사용하여 계산 된 날짜로 계산하기 때문에?SQL에 joda 시간 MS 액세스 데이터베이스

+0

... 데이터베이스와 이야기 할 때 무엇을 사용하고 있습니까? 스트레이트 업 JDBC? ORM? 나는 절전 모드가 JodaTime을 사용할 확장 기능을 가지고 있음을 알고있다; 그렇지 않으면 [@PostLoad annotation] (http://www.objectdb.com/api/java/jpa/PostLoad)을 사용하여 어떤 형식에서든 엔터티 개체로 변환 할 수 있습니다. JDBC의 경우 검색 후 변환하십시오. –

+0

JDBC 드라이버 및 INSERT INTO TABLE VALUES (DATE)와 같은 명령문을 사용합니다. – vijay

답변

1

JDBC를 사용하는 경우 JodaTime 날짜를 JDK 날짜로 변환하기 전에 변환하십시오. 이 라인을 따라
뭔가가 : 데이터베이스에서 검색 할 때

public void insertDateValue(DateTime value) throws SQLException { 

    String insertString = "INSERT INTO tableName(datecolumn) VALUES(?)"; 

    PreparedStatement insert = null; 

    try { 
     insert = connection.prepareStatement(insertString); 

     // Important part is right here: 
     insert.setDate(1, new Date(value.getMillis())); 
     // Oh, and the new object should be java.sql.Date 


     insert.executeUpdate(); 
     connection.commit(); 
    } catch (SQLException e) { 
     if (con != null) { 
      try { 
       connection.rollback(); 
      } catch(SQLException excep) { 
       // Should maybe do something here 
      } 
     } 
    } finally { 
     if (insert != null) { 
      insert.close(); 
     } 
    } 
} 

역을 수행 할 수 있습니다.