String值转换为java.sql.Date值的解决方法

来源:爱站网时间:2022-03-30编辑:网友分享
你知道如何将String值转换为java.sql.Date值吗?为了帮助小伙伴们能更好的解决问题,爱站技术频道小编在此整理了以下相关资料,希望能帮助到朋友们解决问题。

问题描述


我有一个ListString值,其中包含"yyyy-MM-dd"格式的日期。

我目前正在尝试遍历列表,以将各个值添加到数据库中。

如何将String列表中的各个String值转换为java.sql.Date值,以使其与数据库中包含的数据类型相匹配?

下面是我使用的代码示例:

    List accessedDate = usageEvent.getDate();
    List totlUsageHits = usageEvent.getHits();
    List totlUsageVisitors = usageEvent.getVisitors(); 

    Iterator accessDate = accessedDate.iterator();
    Iterator hits = totlUsageHits.iterator();
    Iterator visitors = totlUsageVisitors.iterator();

    while (accessDate.hasNext() && hits.hasNext() && visitors.hasNext()) {
            insert.setDate(1, accessDate.next());
            insert.setInt(2, hits.next());
            insert.setInt(3, visitors.next());
            insert.addBatch();
    }

我有insert.setDate(1, accessDate.next());的地方,我想将String值从此列表更改为java.sql.Date值。

任何帮助将不胜感激!

解决方法:


JDBC驱动程序充当Java代码中的类型/数据与将在SQL数据库上运行的实际语句之间的桥梁适配器。这里的一种方法是将文本Java日期转换为LocalDate,然后将它们作为对象绑定到语句:

while (accessDate.hasNext() && hits.hasNext() && visitors.hasNext()) {
    String date = accessDate.next();
    LocalDate localDate = LocalDate.parse(date);
    insert.setObject(1, localDate);
    insert.setInt(2, hits.next());
    insert.setInt(3, visitors.next());
    insert.addBatch();
}

JDBC 4.2驱动程序应该知道如何处理Java LocalDate对象。您实际上可能对文本日期还满意,因为它采用ISO格式,但是最好避免在Java和SQL中使用字符串日期。

上述文章就是String值转换为java.sql.Date值的解决方法了,希望你能看懂,有需要小编协助解决的地方,可以来网站直接私聊或者给小编留言。

上一篇:Android EditView可以像Gmail编辑电子邮件吗

下一篇:如何手动将SoapMessageHandler添加到SoapBinding

相关阅读

热门软件源码

最新软件源码下载