java复习:mybatis plus对象使用时间注意点

2024 / 10 / 17

在 MyBatis Plus 对象中,java.util.Datejava.sql.Date 是两种不同的日期类,它们之间的区别主要体现在用途和精度上:

1. java.util.Date

  • 用途java.util.Date 是 Java 中常用的日期和时间类,用于表示日期和时间的具体点。它的范围包含了日期和时间信息(年、月、日、时、分、秒和毫秒)。

  • 精度:支持到毫秒的精度。

  • 广泛使用:通常用于各种应用程序中的通用日期和时间处理。

示例:

import java.util.Date; Date date = new Date(); // 包含日期和时间的完整信息

2. java.sql.Date

  • 用途java.sql.Date 主要用于与 SQL 数据库进行交互,尤其是处理数据库中的日期型字段。它只保留日期部分(年、月、日),不包含时间信息

  • 精度:支持到的精度(即只保留年、月、日,不保存时、分、秒和毫秒)。

  • 专门用于数据库:通常在 JDBC 中用于存储或提取 SQL 数据库中的日期类型字段。

示例:

import java.sql.Date; Date sqlDate = new Date(System.currentTimeMillis()); // 仅包含日期信息,不含时间

主要区别总结:

特性

java.util.Date

java.sql.Date

用途

用于表示日期和时间

用于数据库中的日期字段,通常只保存日期部分

精度

年、月、日、时、分、秒、毫秒

仅年、月、日

使用场景

通用日期和时间处理

数据库操作,例如 JDBC 中与 SQL DATE 字段交互

时间信息

包含完整的时间信息

不包含时间信息,只包含日期

使用建议:

  • 如果你需要在业务逻辑中处理完整的日期和时间,或者在代码中需要包含时间信息,推荐使用 java.util.Date

  • 如果仅仅是在数据库中操作日期(没有时间的需求),并且希望与数据库的 DATE 类型字段交互时使用,推荐使用 java.sql.Date

通常在开发中,如果使用 MyBatis Plus 来进行数据库映射,java.util.Date 可以自动映射数据库中的 DATETIMETIMESTAMP 类型,而 java.sql.Date 更适合映射 DATE 类型字段。