【发布时间】: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并将任一列表中的所有项目添加到另一个列表中。然后,您可以将该列表转换为任何类型的任何数组。