当前位置: 首页 > news >正文

MYSQL——时间字段映射Java类型

在 Java 中查询数据库中的【时间字段】时,可以使用以下几种类型来处理:

1. java.sql.Date

  • 适用场景:当数据库中的时间字段是 date 类型时,使用 java.sql.Date 是最合适的选择。
  • 示例代码
    ResultSet rs = statement.executeQuery("SELECT date_column FROM table_name");
    while (rs.next()) {java.sql.Date date = rs.getDate("date_column");System.out.println(date);
    }
    

2. java.util.Date

  • 适用场景:虽然数据库字段是 date 类型,但你希望在 Java 中使用更通用的 java.util.Date 类型。
  • 转换方法
    ResultSet rs = statement.executeQuery("SELECT date_column FROM table_name");
    while (rs.next()) {java.sql.Date sqlDate = rs.getDate("date_column");java.util.Date utilDate = new java.util.Date(sqlDate.getTime());System.out.println(utilDate);
    }
    

3. java.time.LocalDate(Java 8 及以上)

  • 适用场景:如果你使用的是 Java 8 或更高版本,推荐使用 java.time.LocalDate,因为它提供了更好的日期时间 API。
  • 示例代码
    ResultSet rs = statement.executeQuery("SELECT date_column FROM table_name");
    while (rs.next()) {java.sql.Date sqlDate = rs.getDate("date_column");LocalDate localDate = sqlDate.toLocalDate();System.out.println(localDate);
    }
    

4. java.time.LocalDateTime(Java 8 及以上)

  • 适用场景:如果数据库中的时间字段是 datetime 类型,但你希望在 Java 中使用更现代的日期时间类型。
  • 示例代码
    ResultSet rs = statement.executeQuery("SELECT datetime_column FROM table_name");
    while (rs.next()) {Timestamp timestamp = rs.getTimestamp("datetime_column");LocalDateTime localDateTime = timestamp.toLocalDateTime();System.out.println(localDateTime);
    }
    

5. java.time.Instant(Java 8 及以上)

  • 适用场景:如果你需要处理时间戳,可以使用 java.time.Instant
  • 示例代码
    ResultSet rs = statement.executeQuery("SELECT timestamp_column FROM table_name");
    while (rs.next()) {Timestamp timestamp = rs.getTimestamp("timestamp_column");Instant instant = timestamp.toInstant();System.out.println(instant);
    }
    

推荐工具类

  • hutool工具类:DateUtil
    –这里举例几个常用的API–
    1.取开始时间:DateUtil.beginOfXX
    2.取结束时间:DateUtil.endOfXX
    3.字符串转Date:DateUtil.parseXX
    4.Date格式化字符串:DateUtil.format
    5.转LocalDate:toLocalDate()

总结

  • java.sql.Date:适用于直接处理数据库中的 date 类型字段。
  • java.util.Date:适用于需要通用日期时间处理的场景。
  • java.time.LocalDate:推荐用于 Java 8 及以上版本,提供更好的日期时间处理。
  • java.time.LocalDateTime:适用于处理数据库中的 datetime 类型字段。
  • java.time.Instant:适用于处理时间戳。

根据你的具体需求选择合适的类型。如果你使用的是 Java 8 或更高版本,推荐使用 java.time 包中的类,因为它们提供了更强大和灵活的日期时间处理功能。

相关文章:

  • 国内比较好用的代理IP测评
  • ARM32静态交叉编译并使用pidstat教程
  • Win11安装Ubuntu20.04简记
  • GPU虚拟化实现(五)
  • 深度学习前沿探秘:Transformer 模型与多领域应用
  • 深度学习---Pytorch概览
  • tsconfig.json的配置项介绍
  • 高效管理app内测分发,蒲公英了解一下?
  • 跨境电商店铺矩阵布局:多账号运营理论到实操全解析
  • 【QinAgent应用案例】从开发到管理,QinAgent为某智能家居企业提效50%,降本20%
  • Web基础与HTTP协议
  • mac 基于Docker安装minio
  • Docker和K8s面试题
  • 当所有人都用上先进ai,如何保持你的优势?
  • git 如何清空当前分支的历史提交记录,仅保留最后一次提交
  • [minilibc] 库文件的调用放置
  • 一种用于从视网膜图像中识别疾病的 BERT 式自监督学习 CNN
  • 国联股份卫多多与北京慧闻科技(集团)签署战略合作协议
  • 自动驾驶领域专业词汇(专业术语)整理
  • day9 python 热力图与子图的绘制
  • 乌方:泽连斯基只接受与普京会谈,拒见其他俄代表
  • 最美西游、三星堆遗址等入选“2025十大年度IP”
  • 通辽警方侦破一起积压21年的命案:嫌疑人企图强奸遭反抗后杀人
  • 退休10年后,70岁成都高新区管委会原巡视员王晋成被查
  • 应急部:正在积极推动各地逐步科学建设改造应急避难场所
  • 全球前瞻|特朗普访问中东三国,印巴军方将于12日再次对话