如何在 JDBC 中處理日期?
可以使用 date 資料型別在 SQL 中插入日期值,java.sql.Date 類對映到 SQL DATE 型別。
PreparedStatement 介面提供了一個名為 setDate() 的方法。你可以使用此方法將日期插入到表中。此方法接受兩個引數 -
表示佔位符 (?) 引數索引(需要設定日期值)的整數。
表示要傳遞的日期值的 Date 物件。java.sql.Date 類建構函式接受一個變數(long 型別),表示從紀元(標準基準時間,即 1970 年 1 月 1 日,00:00:00 GMT)開始的毫秒數。
示例
假設我們在 MySQL 資料庫中建立了一個名為 Emp 的表,其描述如下所示 -
+----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | DOB | date | YES | | NULL | | | Location | varchar(255) | YES | | NULL | | +----------+--------------+------+-----+---------+-------+
下面的 JDBC 程式將記錄插入到此表 -
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Date;
public class InsertingDate {
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 Emp(Name, DOB, Location) VALUES (?, ?, ?)";
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setString(1, "Amit"); pstmt.setDate(2, new Date(622790105000L));
pstmt.setString(3, "Hyderabad");
pstmt.execute();
pstmt.setString(1, "Sumith"); pstmt.setDate(2, new Date(620611200000L));
pstmt.setString(3, "Vishakhapatnam");
pstmt.execute();
pstmt.setString(1, "Sudha");
pstmt.setDate(2, new Date(336614400000L));
pstmt.setString(3, "Vijayawada");
pstmt.execute();
System.out.println("Records inserted......");
}
}輸出
Connection established...... Records inserted......
如果在 MySQL 資料庫中驗證表,則可以觀察到表的內容,如下所示 -
mysql> select * from Emp; +--------+------------+----------------+ | Name | DOB | Location | +--------+------------+----------------+ | Amit | 1989-09-26 | Hyderabad | | Sumith | 2019-03-19 | Vishakhapatnam | | Sudha | 2019-03-19 | Vijayawada | +--------+------------+----------------+ 3 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP