JDBC下Date類型轉換問題


一、前言

在學過MVC后,其中的DAO層是負責與數據庫進行進行數據交互,而service層個servlet層需要數據時,不允許直接向數據庫要,而是通過Dao層來獲取相關數據。這個時候,就引出一個規定“java.sql.”包下類只能出現在Dao層,而不能出現在其他層中。
所以我們在創建模型類的時候,所用的Date類型是“java.util.Date”,當一個模型類的對象想要存儲到數據庫時,我們就需要對Date類型進行轉換。即,將“java.util.Date”轉換成“java.sql.Date、Time、Timestamp”。

二、相關概念

1、對應的關系

2、java.util.Date與java.sql.Date、Time、Timestamp的關系

java.util.Date是java.sql.Date、Time、Timestamp類的父類

三、相關的轉換

1、將java.util.Date轉化成java.sql.Date、Time、Timestamp

(1)步驟

  • 把util的Date轉換成毫秒值;
  • 使用毫秒值來創建sql下的Date、Time、Timestamp;

(2)代碼實現

java.util.Date date = new java.util.Date();
long l = date.getTime();

java.sql.Date sqlDate1 = new java.sql.Date(l);
java.sql.Date sqlDate2 = new java.sql.Time(l);
java.sql.Date sqlDate3 = new java.sql.Time(l);

2、將java.sql.Date、Time、Timestamp轉化成java.util.Date

(1)原理
因為java.util下的Date是java.sql下的Date、Time、Timestamp的父類,所以我們可以直接引用即可。
(2)代碼實現

java.util.Date doem = new java.sql.Date();

java.util.Date doem = new java.sql.Time();

java.util.Date doem = new java.sql.Timestamp();


免責聲明!

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



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