gpt4 book ai didi

java - 使用java将日期和时间戳插入数据库的最佳方法

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:19 24 4
gpt4 key购买 nike

在完成编码之前,我想知道使用 java 在数据库中插入日期和时间戳的最佳方法是什么。

数据库可以是 oracle、mssql、db2 或 mysql。

我想以某种方式插入日期和时间戳,以便它的检索对于记录的核对应该很容易。假设我们的数据库管理员可能想要提取 2015 年 8 月到 2015 年 10 月范围以及某个时间范围之间的记录。

选项 1:对每种数据库类型使用不同的 sql 查询脚本

示例:

INSERT INTO YOUR_TABLE (YOUR_DATE_COLUMN, COLUMN_2, COLUMN_3) 
VALUES (SYSDATE, 1234, 567);

方式二:使用java语法如下

示例:

java.util.Date date = new java.util.Date();
long t = date.getTime();
java.sql.Date sqlDate = new java.sql.Date(t);
java.sql.Time sqlTime = new java.sql.Time(t);
java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(t);

pstmt.setDate(2, sqlDate);
pstmt.setTime(3, sqlTime);
pstmt.setTimestamp(4, sqlTimestamp);
pstmt.executeUpdate();

选项 2 会处理在不同数据库类型中正确插入日期和时间戳吗?

最佳答案

Would option 2 handle proper insertion of date and timestamp in different db types?

假设您使用了与基础列类型相匹配的正确 Java 类型,是的,就是这个想法。

请注意,在您提供的示例中,您设置了第 2、3、4 列,但没有设置第 1 列。您显然也需要设置第 1 列,并且它们应该与 SQL 字符串中的列匹配(您没有包括), 和 ?相应列的值的占位符。

无论如何,请检查您要使用的数据库的 jdbc 驱动程序的文档,查看有关将 Java 类型映射到 SQL 类型的实现说明,以及任何潜在的文档陷阱。

关于java - 使用java将日期和时间戳插入数据库的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33031049/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com