【问题标题】:Read two different arrayList value in java and add it to a same array Object在java中读取两个不同的arrayList值并将其添加到同一个数组对象中
【发布时间】:2017-11-17 14:16:36
【问题描述】:

我正在尝试从 csv 文件创建更新 sql 查询。

因此,我试图读取两个不同的数组列表值,一个来自 CSV 文件,另一个来自数据库。我想更新我的图书数据库,但有些字段应该保持原样。

我在下面编写了一段代码来执行此操作,并且可以打印查询,但是我觉得我的代码效率不高。我本可以以更有效的方式完成此操作,而不是读取索引。

public List<Book> generateSqlQuery(List<Book> booksFromCSV) throws Exception{

    String update_query = "UPDATE Books SET book_name={0}, author_name={1}";

    String updateQuery = null;
    Object [] book = null;

    MessageFormat messageFormat = new MessageFormat(update_query);

    List<Book> booksFromDB = BookDao.getBooks();


    for(int i=0; i<booksFromCSV.size()-1; i++){

        book = new Object[] { booksFromDB.get(i).getBookName(),
                booksFromCSV.get(i).getAuthorName()};


        updateQuery = messageFormat.format(book);
        System.out.println(updateQuery);
    }
    return booksFromCSV;
}

请给我一些建议或不同的方法,如何读取两个不同的数组列表值并将其保存在同一个数组中。

对于语法错误或任何其他错误,我提前道歉。

【问题讨论】:

  • 如果两个数组列表都包含相同类型的对象,则使用addAll 并将任一列表中的所有项目添加到另一个列表中。然后,您可以将该列表转换为任何类型的任何数组。

标签: java arrays arraylist


【解决方案1】:

这可能会创建 SQL 注入的场景。使用绑定变量并对列表进行循环。如果您确实认为列表很长,您可以尝试批量更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多