Ich muss mehrere einfügen Abfragen mit JDBC, für die ich versuchen, Batch-Anweisung auszuführen. Alles funktioniert gut in meinem Code, aber wenn ich versuche, Werte in der Tabelle zu sehen, ist die Tabelle leer. Hier ist der Code:JDBC: Batch einfügen nicht Wert in die Datenbank einfügen
SessionImpl sessionImpl = (SessionImpl) getSessionFactory().openSession();
Connection conn = (Connection) sessionImpl.connection();
Statement statement = (Statement) conn.createStatement();
for (String query : queries) {
statement.addBatch(query);
}
statement.executeBatch();
statement.close();
conn.close();
Und die
List<String> queries
enthält Abfragen einfügen wie:
insert into demo values (null,'Sharmzad','10006','http://demo.com','3 Results','some values','$44.00','10006P2','No Ratings','No Reviews','Egypt','Duration: 8 hours','tour','Day Cruises');
Und die Tabellenstruktur ist wie:
create table demo (ID INTEGER PRIMARY KEY AUTO_INCREMENT,supplierName varchar(200),supplierId varchar(200),supplierUrl varchar(200),totalActivities varchar(200),activityName varchar(200),activityPrice varchar(200),tourCode varchar(200),starRating varchar(200),totalReviews varchar(200),geography varchar(200),duration varchar(200),category varchar(200),subCategory varchar(200));
Keine Ausnahme ich s irgendwo geworfen, aber kein Wert wird eingefügt. Kann jemand das erklären?
Entfernen Sie 'null' von einfügen Abfrage –
Wenn ich Null (das ist für Auto-Inkrement-ID) entfernen, erhalte ich eine Ausnahme von "Nicht genügend Spaltenwerte" –
Ich kann 'conn.commit()' nicht sehen 'Sie haben _" autocommit "_ für Ihre Verbindung konfiguriert –