一、前言
在學過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();
