当前位置: 首页 > 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 热力图与子图的绘制
  • 文天祥与“不直人间一唾轻”的元将唆都
  • 武汉一季度GDP为4759.41亿元,同比增长5.4%
  • 专访丨青年作家杜梨:以动物的视角去观察这个世界
  • 工信部:加快自动驾驶系统安全要求强制性国家标准研制
  • 四川落马厅官周海琦受审,1000余人接受警示教育
  • 我国首个大型通用光谱望远镜JUST在青海启动建设