【问题标题】:Date - Java to Sql table and sql table to Java through Joda Time日期 - Java 到 Sql 表和 sql 表到 Java 通过 Joda Time
【发布时间】:2013-02-15 19:53:59
【问题描述】:

我正在寻找一种方法来获取今天的日期并传递给 sql 表并保存在那里。调用保存的日期并使用 JODA TIME API 执行一些任务。更改后的 Joda 时间日期到 sql 表并保存在那里并继续处理..

我试过这样,

//prints todays date
java.sql.Date sqlDate = new java.sql.Date(new Date().getTime());
//passes wrong date to the table like 1970-07-01 instead of 2013-03-01
String insert = "INSERT INTO TEST_TABLE VALUES(1,"+sqlDate+")";
pStmt = conn.prepareStatement(insert);
pStmt.executeUpdate();

//converting to joda time 
LocalDate ld = new LocalDate(sqlDate);

//some calculations, and how to convert back to sql date?

我在这里要做的是,一个包含 3 列(id、startdate、finishdate)的表。 id 将由用户输入,开始日期应自动输入今天的日期。在使用 joda 时间和完成日期进行一些计算后,将设置为完成日期。

代码

String insert = "INSERT INTO TEST_TABLE VALUES(2,'"+timestamp+"')";

错误

Data type mismatch in criteria expression
//I have created table using MS access
//the format of the date column is Date/Time.

【问题讨论】:

  • 可以请看底部的更新问题,我遇到了错误,谢谢。
  • 请正确使用准备好的语句(通过使用? 代替您希望参数去的位置,然后使用适当的setX() 函数),您的PS 在技术上仍然容易受到SQL 的影响注射。
  • 我认为你应该接受这个答案,因为它帮助你解决了你的基本问题

标签: java sql date jodatime


【解决方案1】:

您可以在此处使用时间戳。 java.sql.Timestamp 扩展了java.util.Date,所以你可以用java.util.Date 做任何事情,你也可以用java.sql.Timestamp 做任何事情。

将 LocalDateTime 转换为时间戳

Timestamp timestamp = new Timestamp(localDateTime.toDateTime().getMillis());

但如果您仍想将 Timestamp 转换为 java.sql.Date 则使用此

java.sql.Date date = new java.sql.Date(timeStamp.getTime());  

【讨论】:

  • 可以请看底部的更新问题,我遇到了错误,谢谢。
  • 我不太熟悉用于存储目的的 MS 访问及其数据类型,但尝试将时间戳插入 java.sql.Date,如果仍然无法,则将 ms 访问列的数据类型转换为 TEXT而不是日期/时间
  • *我的意思是尝试将 Timestamp 转换为 java.sql.Date
  • 感谢您的回答,我已将日期列格式转换为文本,它成功并且可以读取/写入。为了从表中获取日期,我使用了打印并成功的 rs.getDate(i)。但是我怎样才能将 rs.getDate(i) 再次转换为 localdate?
  • 请记住,ResultSet.getDate() 返回的是 java.sql.Date,而不是 java.util.Date。所以当你需要转换时,你需要这样做LocalDate ld = new LocalDate(sqlDate);。请接受答案,因为它已经解决了您的基本问题。并且不要使用 cmets 来解决其他问题。尝试开始一个新线程。
猜你喜欢
  • 2014-03-24
  • 2016-08-08
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2012-06-18
  • 2014-02-14
相关资源
最近更新 更多