mysq中时间类型转换到Java中
时间: 2024-03-10 16:45:10 浏览: 79
在MySQL中,时间类型有多种,包括DATETIME、DATE、TIME、TIMESTAMP等,不同的时间类型在Java中的转换方式也略有不同。
1. DATETIME类型
在Java中,可以使用java.sql.Timestamp类型来表示DATETIME类型。在通过JDBC从MySQL中读取DATETIME类型的值时,可以使用ResultSet类的getTimestamp方法获取java.sql.Timestamp类型的值:
```java
ResultSet rs = stmt.executeQuery("SELECT datetime_column FROM table");
while (rs.next()) {
Timestamp datetime = rs.getTimestamp("datetime_column");
// ...
}
```
在将java.sql.Timestamp类型的值写入到MySQL的DATETIME类型的字段时,可以使用PreparedStatement类的setTimestamp方法:
```java
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO table (datetime_column) VALUES (?)");
Timestamp datetime = new Timestamp(System.currentTimeMillis());
pstmt.setTimestamp(1, datetime);
pstmt.executeUpdate();
```
2. DATE类型
在Java中,可以使用java.sql.Date类型来表示DATE类型。在通过JDBC从MySQL中读取DATE类型的值时,可以使用ResultSet类的getDate方法获取java.sql.Date类型的值:
```java
ResultSet rs = stmt.executeQuery("SELECT date_column FROM table");
while (rs.next()) {
Date date = rs.getDate("date_column");
// ...
}
```
在将java.sql.Date类型的值写入到MySQL的DATE类型的字段时,可以使用PreparedStatement类的setDate方法:
```java
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO table (date_column) VALUES (?)");
Date date = new Date(System.currentTimeMillis());
pstmt.setDate(1, date);
pstmt.executeUpdate();
```
3. TIME类型
在Java中,可以使用java.sql.Time类型来表示TIME类型。在通过JDBC从MySQL中读取TIME类型的值时,可以使用ResultSet类的getTime方法获取java.sql.Time类型的值:
```java
ResultSet rs = stmt.executeQuery("SELECT time_column FROM table");
while (rs.next()) {
Time time = rs.getTime("time_column");
// ...
}
```
在将java.sql.Time类型的值写入到MySQL的TIME类型的字段时,可以使用PreparedStatement类的setTime方法:
```java
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO table (time_column) VALUES (?)");
Time time = new Time(System.currentTimeMillis());
pstmt.setTime(1, time);
pstmt.executeUpdate();
```
4. TIMESTAMP类型
在Java中,可以使用java.sql.Timestamp类型来表示TIMESTAMP类型。在通过JDBC从MySQL中读取TIMESTAMP类型的值时,可以使用ResultSet类的getTimestamp方法获取java.sql.Timestamp类型的值:
```java
ResultSet rs = stmt.executeQuery("SELECT timestamp_column FROM table");
while (rs.next()) {
Timestamp timestamp = rs.getTimestamp("timestamp_column");
// ...
}
```
在将java.sql.Timestamp类型的值写入到MySQL的TIMESTAMP类型的字段时,可以使用PreparedStatement类的setTimestamp方法:
```java
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO table (timestamp_column) VALUES (?)");
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
pstmt.setTimestamp(1, timestamp);
pstmt.executeUpdate();
```
阅读全文