Java 日期转换 SQL Server
在Java应用程序中,经常需要将日期时间数据转换为SQL Server中的日期时间类型。本文将介绍如何在Java中进行日期转换,并提供代码示例。
1. Java日期转换为SQL Server日期
Java中的日期时间类型主要有java.util.Date
和java.time.LocalDateTime
。这些类型需要转换为SQL Server中的日期时间类型,例如datetime
或datetime2
。
首先,我们需要使用java.sql.Timestamp
类将Java日期时间转换为SQL Server中的日期时间类型。以下是一个示例代码:
import java.sql.Timestamp;
import java.util.Date;
public class DateConverter {
public static void main(String[] args) {
Date javaDate = new Date();
Timestamp sqlTimestamp = new Timestamp(javaDate.getTime());
System.out.println(sqlTimestamp);
}
}
在上面的示例中,我们使用java.util.Date
类表示当前日期时间,并使用java.sql.Timestamp
类将其转换为SQL Server中的日期时间类型。getTime()
方法返回自1970年1月1日零时以来的毫秒数。
2. SQL Server日期转换为Java日期
当从SQL Server数据库中检索日期时间数据时,我们需要将其转换为Java中的日期时间类型。同样,我们可以使用java.sql.Timestamp
类将SQL Server中的日期时间转换为Java中的日期时间。以下是一个示例代码:
import java.sql.Timestamp;
public class DateConverter {
public static void main(String[] args) {
Timestamp sqlTimestamp = new Timestamp(System.currentTimeMillis());
java.util.Date javaDate = new java.util.Date(sqlTimestamp.getTime());
System.out.println(javaDate);
}
}
在上面的示例中,我们使用java.sql.Timestamp
类表示当前日期时间,并使用java.util.Date
类将其转换为Java中的日期时间类型。
3. 使用PreparedStatement插入日期
当使用PreparedStatement
将数据插入到SQL Server数据库时,可以使用setTimestamp()
方法将Java日期时间转换为SQL Server日期时间类型。以下是一个示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.Date;
public class DateConverter {
public static void main(String[] args) {
String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
String username = "myusername";
String password = "mypassword";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
String sql = "INSERT INTO mytable (date_column) VALUES (?)";
PreparedStatement statement = connection.prepareStatement(sql);
Date javaDate = new Date();
Timestamp sqlTimestamp = new Timestamp(javaDate.getTime());
statement.setTimestamp(1, sqlTimestamp);
int rowsAffected = statement.executeUpdate();
System.out.println("Rows affected: " + rowsAffected);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们创建了一个PreparedStatement
对象,并使用setTimestamp()
方法将Java日期时间转换为SQL Server日期时间类型。然后,我们执行executeUpdate()
方法将数据插入到数据库中。
关系图
erDiagram
Date ||--o{ Timestamp
Date ||--o{ LocalDateTime
Timestamp ||--o{ java.sql.Timestamp
LocalDateTime ||--o{ java.time.LocalDateTime
java.sql.Timestamp ||--o{ java.util.Date
java.time.LocalDateTime ||--o{ java.util.Date
PreparedStatement ||--o{ Connection
以上就是Java日期转换为SQL Server日期的示例。通过这些代码示例,您可以轻松地将Java中的日期时间类型转换为SQL Server中的日期时间类型,并在应用程序中进行日期处理。祝您成功!