在 MySQL 和 Java 中,日期和时间类型的映射如下:
MySQL 的日期和时间类型:
1. `DATE`:表示日期,格式为 'YYYY-MM-DD'。
2. `TIME`:表示时间,格式为 'HH:MM:SS'。
3. `DATETIME`:表示日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
4. `TIMESTAMP`:表示日期和时间,具有时区特性,格式为 'YYYY-MM-DD HH:MM:SS'。
5. `YEAR`:表示年份,格式为 'YYYY'。
Java 的日期和时间类型:
1. `java.sql.Date`:对应 MySQL 的 `DATE` 类型,用于表示日期。
2. `java.sql.Time`:对应 MySQL 的 `TIME` 类型,用于表示时间。
3. `java.sql.Timestamp`:对应 MySQL 的 `DATETIME` 和 `TIMESTAMP` 类型,用于表示日期和时间。
4. `java.time.LocalDate`:Java 8 新增的日期类型,用于表示日期。
5. `java.time.LocalTime`:Java 8 新增的时间类型,用于表示时间。
6. `java.time.LocalDateTime`:Java 8 新增的日期和时间类型,用于表示日期和时间。
在使用 Java 连接 MySQL 数据库时,可以使用以上的 Java 数据类型来映射数据库中的日期和时间类型。例如:
import java.sql.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
// 连接 MySQL 数据库
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 插入日期和时间
LocalDate date = LocalDate.now();
PreparedStatement stmt = connection.prepareStatement("INSERT INTO mytable (date_column) VALUES (?)");
stmt.setDate(1, java.sql.Date.valueOf(date));
stmt.executeUpdate();
// 查询日期和时间
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");
while (rs.next()) {
java.sql.Date date = rs.getDate("date_column");
LocalDateTime dateTime = rs.getTimestamp("datetime_column").toLocalDateTime();
// 处理日期和时间数据
}
// 关闭连接
stmt.close();
connection.close();
通过以上的映射关系,可以在 Java 中方便地处理 MySQL 中的日期和时间数据。
相关文章
关注千锋学习站小程序
随时随地免费学习课程
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱