簡體   English   中英

未使用 SQL 查詢插入的數據

[英]Data in not inserted using SQL query

我想創建一個 Java 程序,它從 txt 文件中讀取行並使用 SQL 查詢將它們一一插入:

    Stream<String> stream = Files.lines(Paths.get("C:\\in_progress\\test.txt"), StandardCharsets.UTF_8);
                stream.forEach(System.out::println);
    
                List<String> result = stream.collect(Collectors.toList());
    
                for(String list : result)
                {
                    System.out.println(list);
                    Thread.sleep(1000);
                    ProcessedWords obj = ProcessedWords.builder()
                        .keyword(list)
                        .createdAt(LocalDateTime.now())
                        .build();
                    processedWordsService.save(obj);
                }
    }

我看到打印的行,但沒有生成 SQL 查詢。 你知道我可能錯在哪里嗎?

流已被

 stream.forEach(System.out::println);

collect操作沒有實際意義。 流已被使用。 此時您需要創建一個新流。

例如:在下面,對流的第二個操作將拋出異常( Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed ):

 List<Integer> intList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8);
 Stream<Integer> integerStream = intList.stream()        

 integerStream.forEach(System.out::println);

 var v = integerStream.collect(Collectors.toList()); // <-- throws exception

您確定,您沒有在日志中看到此異常嗎?

https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM