如何使用 JDBC 在資料庫中插入當前日期和時間?
MySQL 資料庫中的 timestamp 資料型別儲存日期、月份、年份、小時、分鐘、秒和分數秒。使用它,您可以同時表示日期和時間。
在使用 JDBC 時,有兩種方法可以插入/獲取當前時間戳值。
使用資料庫的日期預設值。
使用日曆類的 getTime() 方法。
資料庫預設值
建立一個名為 sample 的表,以使用以下查詢在 MySQL 資料庫中儲存時間戳
CREATE TABLE Sample(Id INT, Current_Time_Stamp TimeStamp);
現在,如下所示描述表
+--------------------+-----------+------+-----+-------------------+ | Field | Type | Null | Key | Default | +--------------------+-----------+------+-----+-------------------+ | Id | int(11) | YES | | NULL | | Current_Time_Stamp | timestamp | NO | | CURRENT_TIMESTAMP | +--------------------+-----------+------+-----+-------------------+
如果您觀察到,時間戳的預設值為系統當前時間戳。也就是說,如果您不向此列傳遞任何值,則預設情況下它將填充當前時間戳值。
因此,在使用 JDBC 程式將值插入具有時間戳的表時,在 Prepared 語句中保留時間戳列,或者簡單地使用 CURRENT_TIMESTAMP 代替佔位符 ?,這將填充當前時間戳值。
示例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertingCurrentTime {
public static void main(String args[])throws Exception {
//Getting the connection
String mysqlUrl = "jdbc:mysql:///sampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//Inserting values to a table
String query = "INSERT INTO sample(ID, Current_Time_Stamp)
VALUES (?, CURRENT_TIMESTAMP)";
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setInt(1, 1);
pstmt.execute();
System.out.println("Data inserted......");
}
}輸出
Data inserted......
如果您觀察表的內容,您可以看到它包含當前時間戳值,如下所示
+------+---------------------+ | Id | Current_Time_Stamp | +------+---------------------+ | 1 | 2019-02-27 17:18:17 | +------+---------------------+
Calendar 類的 getTime() 方法
Calendar 類的 getTime() 方法返回一個 Date 類的物件,該物件儲存日曆的當前時間值。
Calendar calendar = Calendar.getInstance(); java.util.Date currentTime = calendar.getTime();
java.util.Date 類還提供了一個名為 getTime() 的方法,此方法返回一個 long 型別變數,該變量表示從標準紀元時間(自 1970 年 1 月 1 日 00:00:00 GMT 起)到此物件的當前時間值的毫秒數。
long time = currentTime.getTime();
現在,將獲得的 當前時間 值作為引數傳遞給 setTimedtamp() 方法,其中另一個引數將是佔位符 ? 的引數索引整數,您需要在此處設定當前時間戳值。
pstmt.setTimestamp(2, new Timestamp(time));
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP