Ich lasse eine Datei auslesen und diese ausgelesene Datei soll er automatisch in die Datenbank schreiben.
Bisher habe ich folgenden Quellcode vorliegen:
Bisher gebe weise ich den Spalten Name,Strasse etc. den Wert manuell zu, aber ich aus einer XML Datei die Daten automatisch in die DB schreiben lassen.
Meine XML Datei sieht so aus:
Text1:
[XML]Name;Straße;Ort;Bundesland;Land;Alter;Geburtstdatum;Hobbys;[/XML]
Values:
[XML]Max Mustermann;Meierstr.;45333 Berlin; ;Deutschland;20;22.3.1092;Fußball;
Meier Müller;Allestraße ;33333 Hamburg; ;Deutschland;20;22.4.1222;Fußball;
Claudia Heinemann;... ;4444 Hamburg; ;Deutschland;20;21.03.1322;Fußball;
Herr Müller;Heinamnnssr;434242 HHHH; ;Deutschland;20;21.3333;Fußball;[/XML]
Bisher habe ich folgenden Quellcode vorliegen:
Java:
public class MySQLConnection {
private static MySQLConnection instance = null;
private static Connection conn = null;
// Hostname
private static String dbHost = "....";
// Port -- Standard: 3306
private static String dbPort = "....";
// Datenbankname
private static String database = "....";
// Datenbankuser
private static String dbUser = ".....";
// Datenbankpasswort
private static String dbPassword = ".....";
private MySQLConnection() {
try {
// Datenbanktreiber für ODBC Schnittstellen laden.
// Für verschiedene ODBC-Datenbanken muss dieser Treiber
// nur einmal geladen werden.
Class.forName("com.mysql.jdbc.Driver").newInstance();
// Es wird die JDBC-ODBC-Brücke verwendet.
conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + "/"
+ database, dbUser, dbPassword);
} catch (Exception e) {
e.printStackTrace();
System.out.println("Treiber nicht gefunden");
}
}
private static Connection getInstance() {
if (conn == null)
new MySQLConnection();
return conn;
}
public static void getName() {
conn = getInstance();
if (conn != null) {
// Anfrage-Statement erzeugen.
// Statement query;
try {
Statement stmt = conn.createStatement();
// Ergebnistabelle erzeugen und abholen.
String sql = "INSERT INTO KUNDEN(NAME,STRASSE,ORT,LAND)"
+ " VALUES ('Max Mustermann','Alleestr. 8', 'Thüringen', 'Deutschland')";
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Java:
public class Test {
public static void main(String[] args) {
Reader text1;
Reader text2;
try {
text1 = new FileReader(
"C:\\Dokumente und Einstellungen\\Alex\\Desktop\\Text1.txt");
text2 = new FileReader(
"C:\\Dokumente und Einstellungen\\Alex\\Desktop\\Values.txt");
BufferedReader txt1 = new BufferedReader(text1);
BufferedReader txt2 = new BufferedReader(text2);
Map<String, String> map = new HashMap<String, String>();
String keys = txt1.readLine();
String values = txt2.readLine();
String[] keysArray = keys.split(";");
String[] valuesArray = values.split(";");
for (int i = 0, length = keysArray.length; i < length; i++) {
map.put(keysArray[i].trim(), valuesArray[i].trim());
}
// System.out.println(map);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// MySQLConnection.getName();
}
}
Bisher gebe weise ich den Spalten Name,Strasse etc. den Wert manuell zu, aber ich aus einer XML Datei die Daten automatisch in die DB schreiben lassen.
Meine XML Datei sieht so aus:
Text1:
[XML]Name;Straße;Ort;Bundesland;Land;Alter;Geburtstdatum;Hobbys;[/XML]
Values:
[XML]Max Mustermann;Meierstr.;45333 Berlin; ;Deutschland;20;22.3.1092;Fußball;
Meier Müller;Allestraße ;33333 Hamburg; ;Deutschland;20;22.4.1222;Fußball;
Claudia Heinemann;... ;4444 Hamburg; ;Deutschland;20;21.03.1322;Fußball;
Herr Müller;Heinamnnssr;434242 HHHH; ;Deutschland;20;21.3333;Fußball;[/XML]