SQL Abfragen hardcoded im Quelltext?

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

mein Programm setzt eine Datenbank ein um die nötigen Daten zu bekommen.
Jetzt hätte ich mal eine Frage, wie ihr das mit mit den SQL Abfragen macht. Schreibt ihr die einfach in den Quelltext rein? Das gibt ja das totale Chaos, wenn sich mal was am Datenbank Schema ändert.

Oder gibts da eine bessere Alternative?
 

ARadauer

Top Contributor
bei kleinen Projekten mach ich das schon, wenn sich meine db struktur ändern, muss ich sowieso meine modell klassen umschreiben, da diese meisten meine tabellen abbilden, da änder ich halt schnell die queries in meinen dao klassen.

bei größeren projekten verwendet man sowas wie hibernate...
 
S

SlaterB

Gast
man baut sich eine Art Mapping, irgendwo steht genau EINMAL an zentraler Stelle, dass Java-String x oder Java-Klasse y für DB-Tabelle z steht,
dann kann sich die DB-Tabelle ändern wie sie will, eine Änderung im Programm reicht,
sofern sich alle DB-Anfragen danach richten,

die Umsetzen reicht von einfachen String-Bausteinen in einer Map bis zu riesigen Frameworks wie Hibernate, EJB usw
 
G

Gast

Gast
Angenommen ich setze Strings ein, verwendet ihr dann eine Klasse bsp. Constants, die nur die Strings enthält.

Oder habt ihr eine Klasse DatenbankIO die oben die Strings definiert und unten dann gleich die entsprechenden SQL Queries und die Methoden zum Abfragen der DB. So siehts bei mir nämlich momentan aus und die Klasse wird riesig.
Oder lagert ihr die DB Abfrage Methoden in verschiedene Klassen, gegliedert nach Funktionsbereichen, aus und übergebt dieses Klassen das Connection Object?
 
S

SlaterB

Gast
Connection-Handling und Konstanten und alles sonst wie allgemeines gehört in separate Klassen,
ersteres sehr wahrscheinlich in eine Basisklasse,

Basisklasse für Klassen, die dann individuelle Operationen enthalten
 
S

SlaterB

Gast
SlaterB hat gesagt.:
Connection-Handling und Konstanten und alles sonst wie allgemeines gehört in separate Klassen,
ersteres sehr wahrscheinlich in eine Basisklasse,

Basisklasse für Klassen, die dann individuelle Operationen enthalten
 
G

Guest

Gast
:shock: Der Satz ergibt für mich keinen Sinn, vielleicht könntest du den bitte nochmal anders formulieren.
 
S

SlaterB

Gast
neu formuliert:
ja, die von dir genannten Dinge sind gute Kandidaten für separate Klassen oder Basisklassen
 
M

maki

Gast
Für kleinere Projekte empfiehlt sich iBatis wenn man kein Hibernate/JPA einsetzen möchte.

Da sind die SQL Statement in XML Dateien gekapselt.
 

FenchelT

Bekanntes Mitglied
Ich schreibe meine SQLs haeufig (nicht immer) selbst in eine sep. Datenbanktabelle.

Beim Starten des Programms lese ich diese aus und schreibe sie in dafuer vorgesehene Konstanten.
Wenn sich im Nachhinein herausstellt, dass ein Fehler im SQL vorliegt, muss ich lediglich den SQL in der DB anpassen, ohne dabei das Programm anzupacken und neu zu kompilieren.


Gruesse
 
M

maki

Gast
FenchelT hat gesagt.:
Ich schreibe meine SQLs haeufig (nicht immer) selbst in eine sep. Datenbanktabelle.

Beim Starten des Programms lese ich diese aus und schreibe sie in dafuer vorgesehene Konstanten.
Wenn sich im Nachhinein herausstellt, dass ein Fehler im SQL vorliegt, muss ich lediglich den SQL in der DB anpassen, ohne dabei das Programm anzupacken und neu zu kompilieren.


Gruesse
SQL ist Quellcode, keine Daten, hat weder etwas in der DB zu suchen, noch sollte man den SQL Code einfach so "hintenrum" ändern, ohne dabei einen neuen Release zu machen.

imho
 

FenchelT

Bekanntes Mitglied
maki hat gesagt.:
FenchelT hat gesagt.:
Ich schreibe meine SQLs haeufig (nicht immer) selbst in eine sep. Datenbanktabelle.

Beim Starten des Programms lese ich diese aus und schreibe sie in dafuer vorgesehene Konstanten.
Wenn sich im Nachhinein herausstellt, dass ein Fehler im SQL vorliegt, muss ich lediglich den SQL in der DB anpassen, ohne dabei das Programm anzupacken und neu zu kompilieren.


Gruesse
SQL ist Quellcode, keine Daten, hat weder etwas in der DB zu suchen, noch sollte man den SQL Code einfach so "hintenrum" ändern, ohne dabei einen neuen Release zu machen.

imho

Definiere Daten
 
M

maki

Gast
Ähmm... ja klar... wie auch immer.. :roll:

Nix für ungut, aber dieses "Konzept" sollte man nicht weiterempfehlen.

Du brauchst ja auch eine SQL Abfrage um deine SQL Abfragen zu laden... steht die auch in der DB? *g*
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Datenbank abfragen nach bestimmten Wort Datenbankprogrammierung 7
J Datenbank abfragen Datenbankprogrammierung 6
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
O SQL Abfragen mit Mini Datenbank Datenbankprogrammierung 12
M Sql Abfragen Datenbankprogrammierung 1
D 2 Abfragen zusammenfassen Datenbankprogrammierung 7
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
W Daten in Java intern abfragen Datenbankprogrammierung 1
Thallius MySQL Tabelle splitten aber wie eine abfragen? Datenbankprogrammierung 10
D geänderte SELECT Abfragen Datenbankprogrammierung 15
D foreignkey abfragen und speichern Datenbankprogrammierung 74
K Viele verschiedenen SQL Abfragen Datenbankprogrammierung 2
J SQLite ResultSet closed -- Wiederholende DB-Abfragen Datenbankprogrammierung 6
R JPA dynamisch auf NULL abfragen Datenbankprogrammierung 2
A MySQL Tabelle ID abfragen und Spalte ausgeben Datenbankprogrammierung 4
K HSQLDB Einzelne Tabellen abfragen? Datenbankprogrammierung 4
F myBatis und komplexe Abfragen Datenbankprogrammierung 3
M MySQL Spaltennamen abfragen Datenbankprogrammierung 2
B Abfragen fehlgeschlagen Datenbankprogrammierung 6
D MySQL Applet MYSQL Abfragen Sicherheit Datenbankprogrammierung 2
E Datenbank Abfragen in eine GUI schreiben Datenbankprogrammierung 8
I Tabelle mit "|" getrennten Werten -> einzelnen Wert davon abfragen Datenbankprogrammierung 15
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
S MySQL Server Informationen abfragen Datenbankprogrammierung 6
turmaline [Hibernate] @OneToMany - Eine referenzierte Tabelle abfragen Datenbankprogrammierung 11
Burny91 SQLite ResultSetMetaData abfragen Datenbankprogrammierung 6
T Kleine Tabellen für schnellere abfragen? Datenbankprogrammierung 3
H Derby SQL-Abfragen in Datei abspeichern Datenbankprogrammierung 2
trash SQL, ganze Tabelle abfragen Datenbankprogrammierung 3
E MySQL 2 Fragen zur Syntax von SQL-Abfragen Datenbankprogrammierung 8
brainray Bei MySQL alle Datenbanken eines Servers abfragen Datenbankprogrammierung 3
N mehrere Abfragen nacheinander wie mit MS Access mit JAVA Datenbankprogrammierung 3
MQue größte id in einer Tabelle abfragen Datenbankprogrammierung 4
A Leere Zelle von einer DB abfragen Datenbankprogrammierung 3
S Abfragen auf Vorhanden Datenbankprogrammierung 23
G Mehrere Tabellen abfragen Datenbankprogrammierung 7
G Prolog abfragen mit Java Datenbankprogrammierung 3
M H2 DAtenbank in .sql datei schreiben/abfragen ? Datenbankprogrammierung 3
A Abfragen, wer zur Zeit angemeldet ist Datenbankprogrammierung 3
S Datentypen einer Tabelle Abfragen? Datenbankprogrammierung 2
G Rechte abfragen Datenbankprogrammierung 8
L MySQL : Funktionsweise von '%' in Abfragen Datenbankprogrammierung 2
G INSERT abfragen ob erfolgreich? Datenbankprogrammierung 5
B Eingefügter Datensatz erneut abfragen. Datenbankprogrammierung 10
E Datentyp numeric abfragen? Datenbankprogrammierung 2
P Daten aus 2 Tabellen mit java abfragen Datenbankprogrammierung 9
F die DN eines LDAP verzeichnisses abfragen Datenbankprogrammierung 2
M Abfragen auf ResultSets Datenbankprogrammierung 3
E Einzelne SQL Abfragen, oder alles zusammen? (veraendert!!!) Datenbankprogrammierung 11
A Viele Abfragen auf einmal: Performance Datenbankprogrammierung 2
Z Zeilen-Anzahl abfragen bei Datenbank Datenbankprogrammierung 4
W RsultSet auf null abfragen funktioniert nicht Datenbankprogrammierung 4
isowiz SELECT SUM() Ergebnis in Java abfragen Datenbankprogrammierung 6
S MySQL Abfragen blockiern den Arbeitsspeicher Datenbankprogrammierung 6
G Anzahl der Datensaetze abfragen Datenbankprogrammierung 11
V Anzahl der Datensätze abfragen Datenbankprogrammierung 9
S Bereiche einer Datenbank abfragen Datenbankprogrammierung 3
N Mehrere Abfragen gleichzeitig - was passiert da? Datenbankprogrammierung 6
D Reihenfolge der Abfragen Datenbankprogrammierung 7
L mehrere Abfragen mit einem Statement!? Datenbankprogrammierung 5
G Select-Abfragen sind sehr langsam Datenbankprogrammierung 7
eskimo328 Datenbankverbindung ohne Passwort im Quelltext bei einer offline Anwendung Datenbankprogrammierung 14

Ähnliche Java Themen

Neue Themen


Oben