数据存在于 csv 文件中。我正在使用 CSVReader 读取每一行,然后将相应的值存储在数据库中。因此,在读取字符串时,我使用“-”(日期格式类似于 01-02-1997)拆分日期字符串并存储在数组中,然后交换数组的三个元素并将其存储回数据库中。有没有更好的办法。
csv 文件中的示例行数据:
10001 MICHELLE VILLEGAS3 Savings SRINATH MICHELLE.VILLEGAS3@NOBODY.COM Y 10-7-18 1050 WEST FIFTH STREET AZUSA IND 917023308
它仅以逗号分隔。
private static void readCsv(String tableName) throws FileNotFoundException, IOException, SQLException {
CSVReader csvreader = null;
try{
Reader reader = Files.newBufferedReader(Paths.get(filePath));
csvreader = new CSVReaderBuilder(reader).withSkipLines(1).build();
sql = "insert into ? values (?,?,?,?,?,?,?,?,?,?,?,?,?)";
ManageDBResource.createConnectionToDB();
pstmt = ManageDBResource.conn.prepareStatement(sql);
pstmt.setString(1, tableName);
String[] rowData = null;
while((rowData = csvreader.readNext()) != null) {
int i = 2;
for (String data : rowData) {
if(i == 8 && data != null && rowData[12] != "IND") {
String[] date = data.split("-");
String temp = date[0];
date[0] = date[1];
date[1] = temp;
}
pstmt.setString(i++,data);
//System.out.print(data + " ");
}
//System.out.println();
}
int result = pstmt.executeUpdate();
if(result == 1) {
System.out.println("Data loaded Successfully.");
}
}
finally {
pstmt.close();
csvreader.close();
}
我究竟如何在 java 程序中使用 STR_TO_DATE() 函数。抱歉,我是编程新手,感谢您的帮助。
相关分类