2013-02-28 10 views
0

如何從java查詢插入日期在sql表中,並從程序使用joda時間API調用時獲取日期。因爲我使用joda時間API來計算收到的日期?喬達時間到SQL MS訪問數據庫

+0

...你用什麼來和數據庫交談?直接JDBC?一個ORM?我知道冬眠已經/有一個擴展使用JodaTime;否則,您可以使用[@PostLoad註釋](http://www.objectdb.com/api/java/jpa/PostLoad)將其從任何類型轉換爲實體對象。對於JDBC,請在檢索後翻譯它。 – 2013-02-28 16:56:02

+0

JDBC驅動程序和我使用INSERT INTO TABLE VALUES(DATE)之類的語句; – vijay 2013-02-28 16:59:40

回答

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(); 
     } 
    } 
} 

反向可以從數據庫中檢索時完成。