java getter setter methoden?!
Geizhals » Forum » Programmierung » java getter setter methoden?! (17 Beiträge, 378 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
..
Re(2): java getter setter methoden?!
22.11.2005, 14:42:15
ok danke, also wenn meine table spieler so ausschaut:

CREATE TABLE Spieler (
spielerNr INTEGER PRIMARY KEY,
name VARCHAR(30),
vorname VARCHAR(30),
nickname VARCHAR(60),
passwort VARCHAR(30),
email VARCHAR(60));

dann mach ich eine Klasse Spieler

public class Spieler{
setName(string name){}
setVorname(string name){}
setNickname(string name){}
setPasswort(string name){}
setEmail(string name){}

getName(string name){}
getVorname(string name){}
getNickname(string name){}
getPasswort(string name){}
getEmail(string name){}

}//class

und da 2 te tabelle schaut so aus:
CREATE TABLE Spiele (
spielNr INTEGER PRIMARY KEY,
Bezeichnung VARCHAR(60));

da amch ich dann das gleiche usw.?!

und ist es schlau eine class Connector zu machen die etwa so aussieht:

public class Connector {
static Logger log = Logger.getLogger("de.myname.UseHSQLDB");

public Connection connect(String jdbcName)throws SQLException, ClassNotFoundException { // Doit better ...
//"org.hsqldb.jdbcDriver"
log.log(Level.INFO, "Starting to load JDBCDriver... ");
Class.forName(jdbcName);
log.log(Level.INFO, "JDBC Driver successfully loaded!");

Connection c =DriverManager.getConnection( "jdbc:hsqldb:hsql://localhost","sa","");
log.log(Level.INFO, "Connection established!");

return c;
}
}

und dann eine class Spieler, in etwa so:
import java.sql.Connection;
import java.sql.SQLException;

public class Spieler extends Connector {

public void Spieler() throws SQLException, ClassNotFoundException{
Connection c= connect("org.hsqldb.jdbcDriver");
}
}
oder ist das kacke?
grüsse

22.11.2005, 15:13 Uhr - Editiert von maStan, alte Version: hier
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
...
Re(3): java getter setter methoden?!
22.11.2005, 15:27:16
nunja, was wirst du in deinem Programm haben:

Irgendwo einen Vector mit den Spielern (oder eine Liste oder sonstwas). Sprich: Du brauchst mal eine Klasse Spieler mit den von dir geforderten Name, Vorname, .... Das bleibt dir überlassen was für Felder du hier willst, aber nimm nicht zuviele - das Thema von dem Ganzen ist ja hauptsächlich Objektorientierung mit DB Zugriff :) Ob du für dieses (Trivial-)Felder nun Getter/Setter implementierst oder dies gleich im Konstruktor erledigst, sollte egal sein. Es müssen die geforderten Funktionen gegeben sein, das zählt.


z.B.:
public Spieler getSpieler(int SpielerNr) throws NoSuchEntityException;


So .. ich versuch jetzt mal etwas Java, meine Kentnisse sind aber schon etwas eingerostet, daher nicht schlagen :)

class Spieler
{
  private int nummer;
  private String name;
  private String vorname;
  public Spieler(int nr, String name, String Vorname, ...) {
    this.nummer = nr;
    ...
  }
}

class SpielerDB
{
  public Spieler getSpieler(int SpielerNr) {
    // Verbindung zur DB herstellen
    // SQL Statement absetzen, das dann die Daten eines Spielers liefert
    // ab hier gibts Variablen welche den Namen usw. des Spielers beschreiben oder eben in diesem Fall NUR die Daten eines Spielers - das macht aber alles mehr oder weniger das SQL Statement aus
    return new Spieler(nummerVonSQL, nameVonSQL, vornameVonSQL);

  }
}

in dieser getSpieler wirfst du zusätzlich noch um alles einen try/catch Block und fängst deine Fehler ab, lieferst dann eine dementsprechende Fehlermeldung in der vom Interface vorgegebenen Exception. Eben z.B. wenn das SQL Statement nix zurückliefert, weil es diese Nummer nicht gibt usw.

Wie du die Sache mit der DB Connection handelst, bleibt dir überlassen. Eine Möglichkeit wäre, eine static Verbindung zur DB aufzubauen (die gleich zu Beginn hergestellt wird), auf die du immer zugreifen kannst, dann müsste aber das Interface geändert werden - was ja wahrscheinlich nicht zur Debatte steht ...




That last wish of yours got the contract broken. Don't you ever read the contract? Article 147, paragraph 9, subsection 3. Selfless redemption.
If you commit one truly benevolent act, it voids the contract. (Bedazzled / Teuflisch)
Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung