Möglicherweise vermeiden Sie Codeänderungen während der Schema -Änderungen bei der Verwendung von JDBCTEMPLET?
-
26-10-2019 - |
Frage
Bei der Verwendung des Frühlings JdbcTemplate
, Ich benutze den Zeilen -Mapper, um Ergebnisse zu kartieren, die wiederkommen.
Der Vorteil dabei ist, dass es weniger Orte gibt, an denen ich meinen Code ändern muss, wenn ich mein MySQL -Schema usw. ändere usw.
Gibt es noch andere Tipps, wie Sie Änderungen des Codes beim Hinzufügen/Entfernen von Spalten in MySQL minimieren können?
Lösung
Wenn Sie Spalten mit Namen abrufen (NamenSELECT col1, col2, col3
) Sie sind immun gegen das Hinzufügen und Neuanordnen von Säulen. Benutze niemals SELECT *
.
Wenn Sie jedoch Spalten entfernen, haben Sie keine Wahl. Wie sollte dies in der Tat funktionieren? Zuvor haben Sie EG abgerufen price
Spalte und verwendet es in Ihrer Geschäftsschicht. Jetzt existiert die Spalte nicht - wie kann man damit umgehen?
Das Hinzufügen von Spalten ist jedoch sicher, es sei denn, neue Spalten sind nicht nullbar. In diesem Fall haben Sie ein Problem beim Hinzufügen neuer Datensätze, da VALUES
Die Anweisung wird keine neuen Spalten enthalten. Optionale Spalten sind in Ordnung.
Andere Tipps
Ein Tipp ist, nicht zu tun SELECT *
, Wählen Sie in bestimmten Spalten aus, falls Sie Dinge hinzufügen, dass Sie Ihren Code nicht brechen :)