JDBC中如何處理日期

小云
112
2023-10-10 10:51:19
欄目: 編程語言

在JDBC中處理日期主要通過java.sql.Date和java.sql.Timestamp類來完成。

java.sql.Date類用于存儲(chǔ)日期數(shù)據(jù),其構(gòu)造方法可以接受年、月、日作為參數(shù),例如:
```java
java.sql.Date date = new java.sql.Date(2020, 1, 1);
```
可以通過PreparedStatement的setDate方法將日期參數(shù)設(shè)置到SQL語句中,例如:
```java
PreparedStatement ps = conn.prepareStatement("INSERT INTO table (date_column) VALUES (?)");
ps.setDate(1, date);
ps.executeUpdate();
```

java.sql.Timestamp類用于存儲(chǔ)日期和時(shí)間數(shù)據(jù),其構(gòu)造方法可以接受年、月、日、時(shí)、分、秒作為參數(shù),例如:
```java
java.sql.Timestamp timestamp = new java.sql.Timestamp(2020, 1, 1, 12, 0, 0);
```
可以通過PreparedStatement的setTimestamp方法將日期和時(shí)間參數(shù)設(shè)置到SQL語句中,例如:
```java
PreparedStatement ps = conn.prepareStatement("INSERT INTO table (timestamp_column) VALUES (?)");
ps.setTimestamp(1, timestamp);
ps.executeUpdate();
```

在查詢數(shù)據(jù)庫(kù)時(shí),可以使用ResultSet的getDate或getTimestamp方法獲取日期或日期和時(shí)間數(shù)據(jù),例如:
```java
ResultSet rs = stmt.executeQuery("SELECT * FROM table");
while (rs.next()) {
   java.sql.Date date = rs.getDate("date_column");
   java.sql.Timestamp timestamp = rs.getTimestamp("timestamp_column");
   // 處理日期數(shù)據(jù)
}
```

需要注意的是,java.sql.Date只包含日期信息,時(shí)間信息將被忽略;而java.sql.Timestamp包含日期和時(shí)間信息。

0