Anbindung zu JDBC

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo miteinander!

Ich plane gerade ein kleines Projekt mit Java+ JDBC für die Anbindung zur Datenbank.

Dabei gibt es 2 Teile:
1. den Gui Bereich
2. das "Interface", welches mit der Datenbank kommuniziert

Beide Teile sollen austauschbar sein!
nun habe ich folgenden Lösungsansatz:

für das "Interface" erstelle ich ein Interface welches folgenden Funktionen umfassen sollte:

Eine Art Suchfunktion
Code:
public void fetchData(Hashtable hs,String targetTable);

Eine Update Funktion
Code:
public void updateData(int ID,Hashtable hs,String targetTable)

und eine Schreibfunktion
Code:
public void insertData(int ID,Hashtable hs,String targetTable)

Damit die Daten dann auch angezeigt werden, habe ich mir ein Interface für den Gui Bereich überlegt:

eine Anzeigefunktion für einen Record
Code:
public void displayRecord(Hashtable hs)

und eine Anzeigefunktion für mehrere Daten
Code:
public void displayRecords(Hashtable hs)

Weiters möchte ich eine Liste erstellen die die einzelnen Namen der Tabellenspalten enthält:
z.B. mit konstanten Strings:
String ID="id", name = "NAME",address="ADDRESS";

Hashmap verwende ich damit ich eben somit dann die Werte der Tabellenspalten lesen kann, als Wert befindet sich bei mehreren Daten ein Array oder ein String in der Hashmap.

Ist diese Lösung eurer Meinung nach sinnvoll bzw. passend oder könnte man z.B. auch ResultSets anstatt Hashtables verwenden(geht dann allerdings nur wenn eine SQL Datenbank dahintersteckt).

Für Kommentare bin ich sehr dankbar.

mfg Peter
 
G

Guest

Gast
Mach' die Persistensschicht einfach austauschbar, indem du vorgibst, welche
Funktionalität diese bieten soll.
z.B. über Interfaces, die implementiert werden müssen.
Code:
interface PersonPersistence {
  public List getAll() throws PersistenceException;
  public Person getById(int id) throws PersistenceException;
  ...
  public void insertPerson(Person person) throws PersistenceException;
  public void updatePerson(Person person) throws PersistenceException;
  public void deletePerson(int id) throws PersistenceException;
}
In der GUI (egal, ob Web, Swing oder SWT) arbeitest du ganz normal mit
Objekten, während der Rest austauschbar ist.
Du kannst z.B. eine Implementierung von PersonPersistence schreiben, die
direkt über JDBC auf die Datenbank zugreift oder über EJB etc.
Beides ist einfach austauschbar und kann unabhängig voneinander getestet
werden.
 
G

Guest

Gast
Noch etwas. Versuche es zu vermeiden Exceptions von einer Schicht
zur anderen zu transportieren.
Klartext: JDBCException oder RemoteException etc. haben im Code
der Benutzeroberfläche nichts zu suchen. Lieber in der Zwischenschicht
in eigene Exceptions mit zusätzlichen Informationen etc. konvertieren.
Gleiches gilt für ResultSets u.ä.
 
G

Gast

Gast
Hi,

Danke für deine Antwort und Tipps!

Ich habe noch einige Fragen:
Ich möchte mehrer Personen von der Datenbank laden, so um die 600
frisst da das Porgramm nicht ziemlich viel Speicher? oder wäre das mit z.B. Hashtables genauso schlecht?

und wie sollte die Personenklasse aussehen? mit lauter Konstanten oder auch get set Methoden?
(In der Datenbank sind das ca. 20 Felder für eine Person)

Nochmals vielen Dank für deine Antwort!!!
 
G

Gast

Gast
tschuldigung die Personenklasse sollte natürlich keine Konstanten enthalten ist ja von Person zu Person verschieden :)
ignorier das einfach bitte, hab leider nicht die Möglichkeit als Gast hier etwas zu ändern!
 
G

Guest

Gast
Bei 600 Datensätzen würde ich mir noch keine Gedanken machen.
Wenn es irgendwann zum Problem wird, kannst du dich nach
Alternativen umschauen. (Iterator-, ValueList-Pattern etc.)
Kein Mensch kann 600 Datensätze auf einmal betrachten, es sei
denn er hat so einen Monitor. :bae:

Du kannst das Ergebnis der Suche oder die Ergebnisse von
Abfragen allgemein, auf z.B. 500 Datensätze beschränken.
 
G

Gast

Gast
Okay,

Du musst wissen ich hatte noch nie so viele Einträge zu lesen :)
aber ich möchte eben alle Daten am Anfang in eine JTable darstellen und zwar alle 600(allerdings nur mit den wichtigstend Feldern, Name, Vorname ...)!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
B DB Anbindung über Tomcat Datenbankprogrammierung 16
S Anbindung einer Datenbank an Java Datenbankprogrammierung 7
D DB-Anbindung Zuweisung fehlgeschlagen Datenbankprogrammierung 37
H MySQL Programm mit Datenbank anbindung Datenbankprogrammierung 26
T Anbindung von Hibernate an JSP Datenbankprogrammierung 6
Z Anbindung von Datenbank an Java Datenbankprogrammierung 2
P DB-Anbindung Datenbankprogrammierung 13
P MySQL-Anbindung Datenbankprogrammierung 4
Dragonfire Entwurfsfragen zur Anbindung an einer MySQL DB - Klassenstruktur zum Data Model Datenbankprogrammierung 5
A MySQL Anbindung - Exception Handling Datenbankprogrammierung 2
F MYSQL Anbindung Datenbankprogrammierung 14
R oracle Anbindung geht im jar nicht Datenbankprogrammierung 8
A Problem mit der Anbindung zur hsqldb Datenbankprogrammierung 18
G anbindung an sqlserver unter windows Datenbankprogrammierung 7
K MySQL Anbindung Datenbankprogrammierung 2
OnDemand JDBC Client Spring: Pool läuft voll Datenbankprogrammierung 6
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
K JDBC Driver not found Datenbankprogrammierung 10
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4

Ähnliche Java Themen


Oben