Мой код считывает данные из текстового файла для заполнения базы данных. Текстовый файл содержит 5 строк, включая пустую строку (строка 4). Код читает текстовый файл, но только вставляет последнюю строку в базу данных. Мне также нужен код для прочтения первой строки в текстовом файле.JDBC executeUpdate() вставляет только 1 строку
Любая помощь, в которой я пошла не так? Я новичок в программировании на Java.
Вот мой код:
import java.io.*;
import java.sql.*;
public class Example {
public static Connection getConnection() throws Exception {
String driver = "org.apache.derby.jdbc.ClientDriver";
String url = "jdbc:derby://localhost:1527/Orders";
String username = "user";
String password = "password";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
public static void main(String[] args)throws Exception {
String id ="";
String firstName ="";
String lastName ="";
String street="";
String city ="";
String fileName = "src/Person.data";
String line = null;
PreparedStatement pstmt = null;
Connection conn = null;
try {
FileReader fileReader =
new FileReader(fileName);
BufferedReader bufferedReader =
new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
if (line.trim().length() == 0) {
continue; // Skip blank lines
}
String[] splited = line.split(",");
//System.out.println(line);
id=splited[0];
firstName=splited[1];
lastName=splited[2];
street=splited[3];
city=splited[4];
System.out.println(line);
System.out.println(splited[4]);
conn = getConnection();
conn.setAutoCommit(false);
pstmt = conn.prepareStatement("insert into APP.Person(PERSON_ID, LAST_NAME, FIRST_NAME,STREET,CITY)values (?,?,?,?,?)");
pstmt.setString(1, id);
pstmt.setString(2, firstName);
pstmt.setString(3, lastName);
pstmt.setString(4, street);
pstmt.setString(5, city);
pstmt.executeUpdate();
conn.commit();
}
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open file '" +
fileName + "'");
ex.printStackTrace();
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
}
}
}
Форматирование кода. У вас есть строки, начинающиеся с случайных позиций и путающих фигурных скоб. – Kayaman