Zum Inhalt springen

SQL-Code in Java verpacken


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich möchte in Java eine SQL-Abfrage durchführen lassen und die Ergebnisse dynamisch in eine durch Java zu erstellende HTML-Seite schreiben lassen.

Soweit so gut. Es klappt auch alles.

Ich frage mich lediglich, ob es sinnvoll ist, den SQL-Code hart im Quelltext zu verewigen oder sollte man nicht besser den SQL-Code in ein properties auslagern?

Es ist allerdings so, dass sich dieser SQL-Code *nie* wieder ändern wird ;)

Geschrieben

Am sinnvollsten pack ich doch die Statements dann mit StringBuffer.append() zu einem StringBuffer hinzu, weise diesen einem PreparedStatement zu und führe dieses anschließende mit executeQuery() aus, oder geht das noch performanter?

Hab da nämlich eine *mega* Abfrage hinterhängen ;)

Geschrieben
Am sinnvollsten pack ich doch die Statements dann mit StringBuffer.append() zu einem StringBuffer hinzu, weise diesen einem PreparedStatement zu und führe dieses anschließende mit executeQuery() aus, oder geht das noch performanter?
Also ein PreparedStatement brauchst du ja eigentlich nur dann, wenn du Objekte, oder andere Werte hast, die du je nach genauer Query einsetzen willst. Wenn dein SQL String wirklich von Anfang an _komplett_ feststeht, dann würde ich immer ein "normales" Statement nehmen und den Code fest reinhacken. Wenn du doch irgendwann merkst, dass du doch das ein oder andere Mal eine andere Version nehmen musst dann kann man immer noch auf Properties umsteigen.

Ciao

Christian

Geschrieben
Wenn dein SQL String wirklich von Anfang an _komplett_ feststeht, dann würde ich immer ein "normales" Statement nehmen und den Code fest reinhacken

Meist (nicht immer!) sind PreparedStatements aber schneller, da das Statement intern gecachet wird und nicht neu geparst werden muss, was beim "normalen" Statement immer der Fall ist. Daher benutze ich immer PreparedStatements, mit Ausnahme von Batch-Updates, die Oracle leider nur für normale Statements unterstützt :-(

Geschrieben

Nun gut, dann weiss ich wenigstens, dass ich einen sinnvollen Weg gehe.

Es ist zwar etwas langsam, bis endlich der gesamte Report auf der HTML-Seite erscheint, aber das kann mitunter auch daran liegen, dass der ja erst die ganze Abfrage macht und dann die komplette Tabelle schreibt...

Vielleicht sollte ich dem das Layout der Tabelle vorher bekannt machen, aber das ist ja eine HTML-Sache und gehört hier nicht her.

PreparedStatements muss ich allerdings benutzen, da ich noch einige "?" innerhalb der SQL-Statements habe, die mit dem auf der Auswahlseite gewählten Datum gefüllt werden sollen und daher erst zur Laufzeit feststehen.

Aber wenn PreparedStatements eh gut und schnell sind, bin ich ja zufrieden ;)

Danke

  • 2 Wochen später...
Geschrieben

Je nachdem, wie komplex die Statements sind (vielleicht werden verschiedene Abfragen gemacht, um ein Ergebnis zu erreichen) ist es sinnvoll die Statements als Stored Procedures in der Datenbank abzulegen und dann diese Procedure aufzurufen.

Geschrieben

ich wuerde eigentlich niemals ein normales sql statement in einer stored procedure ablegen. eher wohl in einem view.

oder gibt es vorteile bei einer stored procedure?

btw. ich hab ein tut 'Improving JDBC performance' von oracle.

falls jemand interesse hat, einfach ne pm schreiben.

so long

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...