# Autovermietung in Java TUI basiert

### Beschreibung
____
Schulprojekt für eine Autovermietung in Java mit einer Anbindung zu einer Datenbank.

### Kompelieren
____
Zum kompelieren braucht Ihr die [mysql-connector-java](https://mvnrepository.com/artifact/mysql/mysql-connector-java), diese in eure IDE packen und mit in die Artifacts packen. 

### Ausführen
____
Es gibt eine database.properties Datei, in dieser sind alle nötigen Verbindungsdaten hinterlegt für die Datenbank. Solltet Ihr also eure eigene Test-Datenbank aufsetzen wollen könnt Ihr die dort einfach ändern. 

Sonst könnt Ihr die ganze Suppe mit der Jar-File einfach in der cmd/PowerShell oder was auch immer Ihr benutzt mit `java -jar autovermietung.jar` ausführen.

### Aufsetzen der MySQL Datenbank
____
Zum erstellen der Datenbank wird diese Struktur verwendet.

```sql
CREATE TABLE kunde (
	knr integer auto_increment,
	vorname varchar(10) not null,
	nachname varchar(10) not null,
	anschrift varchar(50) not null,
	telefon varchar(15) not null,
	personr integer not null,
	PRIMARY KEY (knr)
)ENGINE=INNODB AUTO_INCREMENT=1;

CREATE TABLE modell (
	mnr integer auto_increment,
	modellname varchar(20) not null,
	hubraum integer not null,
	leistung integer not null,
	kmpreis float not null,
	pauschale float not null,
	PRIMARY KEY (mnr)
)ENGINE=INNODB AUTO_INCREMENT=1;

CREATE TABLE pkw (
	kennzeichen varchar(9),
	erstzulassung date not null,
	tachostand integer not null,
	farbe varchar(6) not null,
	ausleihdatum date,
	mnr integer,
	knr integer,
	PRIMARY KEY (kennzeichen),
	FOREIGN KEY (mnr) REFERENCES modell(mnr)
		ON DELETE RESTRICT ON UPDATE CASCADE,
	FOREIGN KEY (knr) REFERENCES kunde(knr)
		ON DELETE RESTRICT ON UPDATE CASCADE
)ENGINE=INNODB;
```


### Sonstiges
____
Hab nur in der Main Kommentare reingepackt, der Rest war mir irgendwie egal und ich hab dadran sowieso zu lange gesessen. Wenn irgendwas unklar sein sollte fragt einfach, ansonsten mal schauen vielleicht hab ich nochmal Lust es zu kommentieren. Aber denke eher nicht.