bei uns werden SQL-Zugriffe auf die Datenbank derzeit nach und nach auf PreparedStatement umgestellt. Um es anderen jetzt leichter zu machen ihre Statements abzusetzen soll eine Methode geschaffen werden um möglichst schnell viele SQLs automatisiert absetzen zu lassen.
Ich habe das jetzt so umgesetzt, dass ich eine Map erwarte, die so gefüllt ist, dass die Keys die SQLs für das PreparedStatement darstellen und die zugehörigen Values dann die Werte zum Füllen der ? enthalten.
So weit funktioniert das jetzt auch schon alles.
Mein Problem ist jetzt, dass es wichtig ist, dass SQLs in einer bestimmten Reihenfolge abgesetzt werden. Bis jetzt habe ich als Übergabe immer eine HashMap verwendet und diese sortiert die Keys intern ja leider.
Gibt es eine Implemantation von Map, welche intern nicht sortiert? Oder muss ich mir an dieser Stelle etwas anderes einfallen lassen? :?:
Vielen Dank schon mal für eure Antworten!! :applaus:
Du kannst dafür java.util.TreeMap benutzen. Da werden die Einträge nach den Keys sortiert.
Wenn du für die Keys den String-Datentyp benutzt, wird automatisch schon richtig sortiert, ohne dass du noch etwas dazu tun musst. [/i]
Mein Problem ist, dass sichergestellt sein muss, dass die SQLs in der gewünschten Reihenfolge abgesetzt werden. Wenn jetzt also z. B. erst ein Delete abgesetzt werden soll und anschließend mehrere Inserts gemacht werden sollen, dann muss gewährleistet sein, dass der Delete vor den Inserts kommt.
Leider ist das bei einer HashMap aber nicht der Fall, da nicht sichergestellt ist, dass ich auch den Delete zuerst bekomme.
Un wenn du statt einer Map eine List verwendest? In diesem Fall beliebt die Reihenfolge ja erhalten, und du kannst die Statements in der Reihenfolge abarbeiten, wie sie in die Liste eingestellt wurden.
Un wenn du statt einer Map eine List verwendest? In diesem Fall beliebt die Reihenfolge ja erhalten, und du kannst die Statements in der Reihenfolge abarbeiten, wie sie in die Liste eingestellt wurden.
Würde grundsätzlich genen nur müsste ich dann in der List entweder immer abwechselnd SQL - Values - SQL - Values usw. haben, ober ich bräuchte 2 Lists.
Bei beiden Möglichkeiten ist das Problem, dass ich nicht sicher sein kann, dass ich auch das passende übergeben bekomme.
.
.
.
Die Sache hat sich jetzt aber trotzdem erledigt. Ich habe mir jetzt eine "Map" selbst geschrieben, welche die Funktionen genau so bietet wie ich sie brauche. Dabei konnte ich auch gleich beim put noch eine Fehlerprüfung einbauen, dass nicht falsches hinzugefügt werden kann (Würde mit Generics auch gehen aber leider verwenden wir noch 1.4.2 )
Auf jeden Fall danke für eure Antworten und Mühen!!! :toll:
Un wenn du statt einer Map eine List verwendest? In diesem Fall beliebt die Reihenfolge ja erhalten, und du kannst die Statements in der Reihenfolge abarbeiten, wie sie in die Liste eingestellt wurden.
Würde grundsätzlich genen nur müsste ich dann in der List entweder immer abwechselnd SQL - Values - SQL - Values usw. haben, ober ich bräuchte 2 Lists.