Versuchen, jdbcTemplate.update (String sql) zu verstehen, die sich merkwürdig verhält.jdbcTemplate.update (String sql) verhält sich seltsam
Ich habe eine Methode:
public int insertStartSyncDate() {
String sql = "INSERT INTO iwpro_imp."+jobStatusTable+" (job_name,status,start_time,comment) VALUES ('sswltimport', 'running', NOW(), 'Just started.')";
int resultsReturned = 0;
try{
resultsReturned = jdbcTemplate.update(sql);
}catch(Exception e){
e.printStackTrace();
}
return resultsReturned;
}
Meine Tabellenstruktur ist:
mysql> desc import_job_status;
+------------+------------------------------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------------------------+------+-----+-------------------+----------------+
| job_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| job_name | varchar(20) | NO | MUL | NULL | |
| status | enum('running','success','failed') | NO | MUL | running | |
| start_time | timestamp | NO | MUL | CURRENT_TIMESTAMP | |
| end_time | timestamp | YES | MUL | NULL | |
| comment | text | YES | | NULL | |
+------------+------------------------------------+------+-----+-------------------+----------------+
6 rows in set (0.00 sec)
Jetzt ist die Frage: Nach der Ausführung dieser Methode werden Daten kommt nicht in DB-Tabelle. Ich habe versucht zu debuggen und Zeiger zeigt den Wert von resultsReturned als 1 was bedeutet, dass Abfrage ausgeführt wird. Ich verstehe jetzt nicht, was hier falsch ist.
Wie soll ich jetzt vorgehen? Ich habe versucht, SQL-Abfrage manuell ausführen und es ist in Ordnung, wenn ich es manuell ausführen, aber es nicht von "jdbcTemplate.update (sql)" -Methode ausführen.
Hat es in die Datenbank übernommen? Möglicherweise wird das Commit nicht ausgelöst. – Nilesh
Meine automatische Festschreibung ist aktiviert. es ist nicht aus. Trotzdem muss ich es manuell machen? – Shashank
Nopes dann ist es die Datenbank, die es für Sie tun wird. – Nilesh