在oracle中存入date類型數據遇到的問題及其解決方法(利用java.sql.date和Timestamp)


轉自:https://blog.csdn.net/ShadowerWArden/article/details/80652377

1. 使用JDBC操作Oracle數據庫時,使用java.sql.Date類型對應數據庫的date類型,此時只能保存和讀取日期部分,

  時間(時分秒)部分不能讀取和保存;

  查詢結果集可以直接獲取Date類型的數據:java.sql.Date date=resultSet.getDate("dateTime");

  java.sql.Date類型的數據也可以直接保存到數據庫或者與數據庫中date類型的數據直接比較大小;

  字符串的日期,則用SQL語句的轉換函數 to_date('2017-4-8','yyyy-mm-dd') 轉換為date類型插入到數據庫。

 

2. 使用Hibernate操作Oracle數據庫時,使用java.util.Date類型對應數據庫的date類型,此時數據庫可以保存和讀取到時分秒;

  java.sql.Date 和java.util.Date 類型的數據都可以直接保存到數據庫或者與數據庫中date類型的數據直接比較大小,但從數

  據庫讀取的日期數據要用java.util.Date 進行保存,因為java.sql.Date 是java.util.Date 的子類。

 

3. 如果想要在oracle中插入date類型的數據並且精確到時分秒,甚至是毫秒,這時候就要利用java.sql.date類型和TimeStamp類型來達到目的,具體代碼如下:

SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String signTimet=df.format(new Date());
java.util.Date ud = null;
try {
ud = df.parse(signTimet);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
java.sql.Timestamp signTime = new java.sql.Timestamp(ud.getTime());
文章第3部分為解決方法,通過個人實踐所得

文章中1、2兩個部分轉載他人觀點,網址:參考網址
---------------------
作者:Jzen_
來源:CSDN
原文:https://blog.csdn.net/ShadowerWArden/article/details/80652377
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM