使用Java将字符串列表/集合插入数据库表中

问题描述 投票:0回答:1

我有一个excel文件,其中管道分隔的数据存储在第一列A中。第一行具有不需要的日期,最后一行具有我要与之比较的行数。我试图解析每行中的前三个项目(account_name,command_name,system_name),我编写了用于解析文件的类和代码,但需要帮助来设置如何创建将sql插入表中的服务。下面是该文件的示例以及它的外观。

20200310|
Mn1223|01192|windows|extra|extra|extra||
Sd1223|02390|linux|extra|extra|extra||
2

CLASS

class DataToInsert {
    private final String accountName;
    private final String commandName;
    private final String accouomain;

    public DataToInsert(String accountName, String accountNumber, String systemName) {
        this.accountName = accountName;
        this.commandName  = commandName;
        this.systemName = systemName;
    }

    public String getAccountName() {
        return accountName;
    }

    public String getCommandName() {
        return commandName;
    }

    public String getSystemName() {
        return systemName;
    }
}

代码解析文件

List<DataToInsert> parseData(String filePath) throws IOException {

        List<String> lines = Files.readAllLines(Paths.get(filePath));

        // remove date and amount
        lines.remove(0);
        lines.remove(lines.size() - 1);

        return lines.stream()
                .map(s -> s.split("[|]")).map(val -> new DataToInsert(val[0], val[1], val[2])).collect(Collectors.toList());
    }
java spring-boot parsing sql-insert delimited-text
1个回答
0
投票

我相信您想要的是对象关系映射(ORM)。我建议您检出JPA及其类似Hibernate的实现。但是,您可以使用常规的JDBC实现目标,但是为什么要在已有目的实现这一目的时重新发明轮子。

© www.soinside.com 2019 - 2024. All rights reserved.