(Java) Regristrierung und Login System mit einer Datenbank

Ninjafighter

Mitglied
Sehr geehrte Community,

ich möchte, für ein Zeiterfassungssystem, ein Login System schreiben, welche mit einer Datenbank verknüpft ist. Zumindest ist dies meine Idee als Anfänger. Ich finde viele Arten von Videos, Tutorials, die aber oft nur die GUI zeigen aber nicht die eigentliche Implementierung.

Beim Login-System, soll es folgendes geben:

- Regristierung für neuen Benutzer, welcher ein Passwort erhält, automatisch generiert
- Login System, Benutzername und Passwort
-> Daher auch Datenbank (MYSQL?) um abzugleichen, ob der Benutzer auch regristiert ist
-> Kennwort zurücksetzungsmöglichkeit ( wobei dies nicht vom Nutzer selbst sondern eine dritte Person übernehmen muss )

Ich fand ein Video mit "MS Access Database" aber welches ist besser?

Daher frage ich hier, ob sich schon jemand damit beschäftigt hat und eine gute Seite kennt, woher ich dies lernen kann.

Ich entschuldige, falls dies eine dumme Frage ist? oder im falschen Thread.
 
Generell kannst du sowas völlig ohne Datenbank umsetzten, und die Datenbank am Ende nur noch als „Speicher“ anbinden.

Die gesamte Logik etc kannst du so mit Java umsetzen, und damit solltest du beginnen.
Für den Anfang kannst du dir zB erst mal Gedanken machen, welche Klassen es dafür geben könnte, zB sowas wie „Nutzer“.
 
Hallo mrBrown,

Ich habe nun folgendes erstellt:


Java:
package zeiterfassung;

public class Arbeitszeit {

    private int arbeitszeitid;
    private int mitarbeiter_id;
    private double startzeit;
    private double endzeit;
    private double mittagAnfang;
    private double mittagEnde;
    private double mittagDauer;
    private double gesamtArbeitszeit;
    private double lohn;

    public int getArbeitszeitid() {
        return arbeitszeitid;
    }

    public void setArbeitszeitid(int arbeitszeitid) {
        this.arbeitszeitid = arbeitszeitid;
    }

    public int getMitarbeiter_id() {
        return mitarbeiter_id;
    }

    public void setMitarbeiter_id(int mitarbeiter_id) {
        this.mitarbeiter_id = mitarbeiter_id;
    }

    public double getStartzeit() {
        return startzeit;
    }

    public void setStartzeit(double startzeit) {
        this.startzeit = startzeit;
    }

    public double getEndzeit() {
        return endzeit;
    }

    public void setEndzeit(double endzeit) {
        this.endzeit = endzeit;
    }

    public double getUberstunden() {
       return uberstunden;
   }
  
   public void setUberstunden(double uberstunden) {
       this.uberstunden = uberstunden;
   }
  
   public double getFehlzeit() {
       return fehlzeit;
   }
  
   public void setFehlzeit(double fehlzeit) {
       this.fehlzeit = fehlzeit;
   }

    public double getMittagDauer() {
        return mittagDauer;
    }

    // Return Dauer der Mittagspause
    public double mittagDauer() {
        return (mittagEnde - mittagAnfang);
    }

    public double getgesamtArbeitszeit() {
        return gesamtArbeitszeit;
    }

  
     // Return Gesamtarbeitszeit
     public double gesamtArbeitszeit() {
         return (((endzeit - startzeit) + uberstunden) - fehlzeit) - mittagDauer;
   }

    public double getLohn() {
        return lohn;
    }
  

    public double Lohn() {
      return gesamtArbeitszeit * Mitarbeiter.getGehalt;
 }

}


und Mitarbeiter mit

Java:
package zeiterfassung;

public class Mitarbeiter {

    public Mitarbeiter() {
    }

    // die Attribute einer Mitarbeiter im Betrieb.
    public Mitarbeiter(String _vorname, String _nachname, String _username, int _passwort, int _gehalt) {
        this.vorname = _vorname;
        this.nachname = _nachname;
        this.username = _username;
        this.password = _passwort;
        this.gehalt = _gehalt;
    }

    // Eigenschaften;
    private int mitarbeiterid;
    private String vorname;
    private String nachname;
    private String username;
    private int password;
    private int gehalt;

    public int getMitarbeiterid() {
        return mitarbeiterid;
    }

    public void setMitarbeiterid(int mitarbeiterid) {
        this.mitarbeiterid = mitarbeiterid;
    }

    public String getVorname() {
        return vorname;
    }

    public void setVorname(String vorname) {
        this.vorname = vorname;
    }

    public String getNachname() {
        return nachname;
    }

    public void setNachname(String nachname) {
        this.nachname = nachname;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getPassword() {
        return password;
    }

    public void setPassword(int password) {
        this.password = password;
    }

    public int getGehalt() {
        return gehalt;
    }

    public void setGehalt(int gehalt) {
        this.gehalt = gehalt;
    }

}


Nun möchte ich aber folgendes mit implementieren:

- Gehalt des Mitarbeiters, jeder hat ja seinen eigenen. In Mitarbeiter möchte ich unter den Attributen einbauen aber die Arbeitszeit Klasse soll das Attribut von Mitarbeiter jedes mal entnehmen, wenn es gebraucht wird:" bei der Zeiterfassung: getMitarbeiterGehalt ?

- Bei der Zeitrechnung soll dessen Lohn berechnet werden

- Außerdem würde ich noch eine GUI erstellen aber ich weiß nicht, wie ich die beiden Klassen dann mit der GUI verbinden kann. Kann mir jemand helfen, bitte?

Ein Oberfläche erstellen, ist nicht das Problem, eher das Verbinden dieser mit den Beiden Klassen oberhalb, sodass es funktioniert.

Mit der Datenbank beschäftige ich mich später, erst soll das hier funktionieren 🙂

Ich hoffe, es in Ordnung dies hier zu fragen.
 
Sorry, ich habe mich selbst ausversehen zitiert :S

Trotzdem eine weitere Frage, wie kann ich die Arbeitszeit mit Mitarbeiter testen?

Eine extra Main Klasse mit

Mitarbeiter mitarbeiter = new Mitarbeiter (String _vorname, String _nachname, String _username, int _passwort, int _gehalt);

würde das gehen?
 
- Gehalt des Mitarbeiters, jeder hat ja seinen eigenen. In Mitarbeiter möchte ich unter den Attributen einbauen aber die Arbeitszeit Klasse soll das Attribut von Mitarbeiter jedes mal entnehmen, wenn es gebraucht wird:" bei der Zeiterfassung: getMitarbeiterGehalt ?
Ich habe noch keine Ahnung, was du damit meinst '😀

Du kannst dir das ganze aber vermutlich einfacher machen, wenn Mitarbeiter einfach eine Liste von Arbeitszeit bekommt, in der alle Arbeitszeiten des Mitarbeiters stehen. Die Arbeitszeit muss ja den Mitarbeiter nicht kennen 😉

- Außerdem würde ich noch eine GUI erstellen aber ich weiß nicht, wie ich die beiden Klassen dann mit der GUI verbinden kann. Kann mir jemand helfen, bitte?
Naja, da gibt es kein "so funktioniert das". Du hast halt irgendwo deine GUI, diese kennt zB einen Mitarbeiter, und zeigt dessen Daten an.


Trotzdem eine weitere Frage, wie kann ich die Arbeitszeit mit Mitarbeiter testen?

Eine extra Main Klasse mit

Mitarbeiter mitarbeiter = new Mitarbeiter (String _vorname, String _nachname, String _username, int _passwort, int _gehalt);
Ja, du solltest dann aber schon Stings übergeben, und nicht einfach die Signatur der Methode kopieren 😉
 
Ich habe noch keine Ahnung, was du damit meinst '😀

Du kannst dir das ganze aber vermutlich einfacher machen, wenn Mitarbeiter einfach eine Liste von Arbeitszeit bekommt, in der alle Arbeitszeiten des Mitarbeiters stehen. Die Arbeitszeit muss ja den Mitarbeiter nicht kennen 😉


Naja, da gibt es kein "so funktioniert das". Du hast halt irgendwo deine GUI, diese kennt zB einen Mitarbeiter, und zeigt dessen Daten an.



Ja, du solltest dann aber schon Stings übergeben, und nicht einfach die Signatur der Methode kopieren 😉

Nochmals großen Dank, mrBrown. 🙂
 

Zurück
Oben