Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将列表中的字符串值更改为java.sql.date值以插入sql数据库_Java_Sql_Date_Arraylist_Jdbc - Fatal编程技术网

将列表中的字符串值更改为java.sql.date值以插入sql数据库

将列表中的字符串值更改为java.sql.date值以插入sql数据库,java,sql,date,arraylist,jdbc,Java,Sql,Date,Arraylist,Jdbc,我有一个字符串值列表,其中包含格式为yyyy-MM-dd的日期 我目前正在尝试遍历列表,将各个值添加到数据库中 如何将字符串列表中的单个字符串值转换为java.sql.Date值,以便它们与数据库中包含的数据类型匹配 下面是我正在使用的代码示例: List<String> accessedDate = usageEvent.getDate(); List<Integer> totlUsageHits = usageEvent.getHits();

我有一个字符串值列表,其中包含格式为yyyy-MM-dd的日期

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

如何将字符串列表中的单个字符串值转换为java.sql.Date值,以便它们与数据库中包含的数据类型匹配

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

    List<String> accessedDate = usageEvent.getDate();
    List<Integer> totlUsageHits = usageEvent.getHits();
    List<Integer> totlUsageVisitors = usageEvent.getVisitors(); 

    Iterator<String> accessDate = accessedDate.iterator();
    Iterator<Integer> hits = totlUsageHits.iterator();
    Iterator<Integer> 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.setDate1,accessDate.next;,我想将此列表中的字符串值更改为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();
}

JDBC4.2驱动程序应该知道如何处理JavaLocalDate对象。实际上,您可能对文本日期没有意见,因为它们是ISO格式的,但最好避免使用Java和SQL中的字符串日期。

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();
}

JDBC4.2驱动程序应该知道如何处理JavaLocalDate对象。实际上,您可能对文本日期没有意见,因为存在ISO格式的日期,但最好避免使用字符串日期,Java和SQL两种语言。

Duplicate:您的问题是如何将字符串转换为Java.SQL.date:我如何实现这与我的上述代码的关系?Duplicate:您的问题是如何将字符串转换为Java.SQL.date:我如何实现这与我的上述代码的关系?