Mitarbeiter
Entwurf
Anforderung
SQl-Datenbank
- Erstellen einer Datenbank personal
- Erstellen einer Tabelle Mitarbeiter
- id als Primärschlüssel
- nachname varchar(50)
- gehalt decimal(6,2)
- anmerkung varchar(200)
- Eintragen von 5 Datensätzen
SQL-Datenbank
SQL loggen
- erstellt eine Datei im angegebenen Pfad
- loggt die Anweisungen
tee c:/dateien/log_personal.sql
Erstellen der Datenbank
create database personal;
Benutzen der Datenbank
use database personal;
Erstellen Tabelle Mitarbeiter
create table mitarbeiter;
Werte festlegen
create table Mitarbeiter( id int auto_increment primary key, nachname varchar(50), gehalt decimal(6,2), anmerkung varchar(200));
Tabelle beschreiben lassen
describe mitarbeiter;
Datensätze eintragen
insert into mitarbeiter (nachname, gehalt, anmerkung) values ("Berger", 4950.20, "Statistiker");
Alles anzeigen lassen
select * from mitarbeiter;
Anmerkung
set autocommit = 0;
- Rückgängig machen
rollback;
set autocommit = 1;
PHP
Ordner erstellen
- Erstellen eines Ordners Personal in -> C:/xampp/htdocs/personal
- für jede Funktion brauchen wir 1 Php-Skript
get all
<?php
//Verbinden zum Server - Datenbank personal
$conny = new mysqli("localhost", "root", "" , "personal");
//SQL erstellen
$sql = "select * from mitarbeiter";
//Statement erstellen
$stmt = $conny->query($sql);
//Stmt ausführen und Speichern ResultSet
$zeile = $stmt->fetch_assoc();
//wir erstellen ein Array
$daten = array();
while($zeile ==true)
{
array_push($daten, $zeile);
$zeile = $stmt->fetch_assoc();
}
$conny->close();
$json = json_encode($daten);
print $json;
//1. Zeile holen
//Solange zeile != null
//Zeile dem Array $daten hinzufügen
//nächste Zeile holen
//array in einen json-Text umwandeln
//Datenbank schließen
//Ausgabe $json-Text
?>
Update
<?php
//Daten abholen mit $_REQUEST
$id = $_REQUEST["id"];
$gehalt = $_REQUEST["gehalt"];
//Verbinden zum Server - Datenbank personal
$conny = new mysqli("localhost", "root", "" , "personal");
//SQL
$sql = "update mitarbeiter set gehalt = ? where id = ?";
//SQL preparieren
$stmt = $conny->prepare($sql);
//Parameter festlegen
$stmt->bind_param("di", $gehalt, $id);
//Ausführen statement
$stmt->execute();
//Ausgabe wie viele Zeilen betroffen
print $conny->affected_rows;
//Datenbank schließen
?>
Löschen
<?php
//Daten abholen mit $_REQUEST
$id = $_REQUEST["id"];
//Verbinden zum Server - Datenbank personal
$conny = new mysqli("localhost", "root", "" , "personal");
//SQL
$sql = "delete from mitarbeiter where id = ?";
//SQL preparieren
$stmt = $conny->prepare($sql);
//Parameter festlegen
$stmt->bind_param("i", $id);
//Ausführen statement
$stmt->execute();
//Ausgabe wie viele Zeilen betroffen
print $conny->affected_rows;
//Datenbank schließen
?>
Java
Projekt erstellen
- neues JavaProject in Oracle -> ConsolePersonal
- zwei packages erstellen
- personal
- test
- Class erstellen personal -> Mitarbeiter
Mitarbeiter
- Eigenschaften
- Konstruktor
- Getter und Setter
- Überschreiben to String
package personal;
public class Mitarbeiter {
//Eigenschaften
public int id;
public String nachname;
public double gehalt;
public String anmerkung;
//Konstruktor
public Mitarbeiter(int id, String nachname, double gehalt, String anmerkung) {
super();
this.id = id;
this.nachname = nachname;
this.gehalt = gehalt;
this.anmerkung = anmerkung;
}
//Getter und Setter
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNachname() {
return nachname;
}
public void setNachname(String nachname) {
this.nachname = nachname;
}
public double getGehalt() {
return gehalt;
}
public void setGehalt(double gehalt) {
this.gehalt = gehalt;
}
public String getAnmerkung() {
return anmerkung;
}
public void setAnmerkung(String anmerkung) {
this.anmerkung = anmerkung;
}
//Überschreiben to String
@Override
public String toString() {
return "Mitarbeiter [id=" + id + ", nachname=" + nachname + ", gehalt=" + gehalt + ", anmerkung=" + anmerkung
+ "]";
}
}
Funktion getAll()
//Skript getAll()
public static Mitarbeiter[] getAll() throws IOException
{
Mitarbeiter[] liste = null;
String json = null;
//Verbindung Server
URL url = new URL("http://localhost/personal/getAll.php");
//Öffnen Verbindung zu php-skript
HttpURLConnection conny = (HttpURLConnection) url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conny.getInputStream()));
json = br.readLine();
Gson gs = new Gson();
liste = gs.fromJson(json, Mitarbeiter[].class);
//Skript ausführen
//Datenstrom verwenden für Auslesen der Rückgabe (JSON von php)
//JSON umwandeln in liste
//Schließen Datenstrom
conny.disconnect();
//Schließen Verbindung Server
return liste;
}
Funktion update
public static boolean update(int id, double gehalt) throws IOException
{
//Verbinden Server
URL url = new URL("http://localhost/personal/update.php?id=" + id +"&gehalt=" + gehalt);
//datenstrom für Lesen der Rückgabe aus php
HttpURLConnection conny = (HttpURLConnection) url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conny.getInputStream()));
//Rückgabe Speichern in Variablen -- String
String rueckgabe = br.readLine();
int zeilen = Integer.parseInt(rueckgabe);
//Alles schließen
conny.disconnect();
br.close();
//Wenn rückgabe > 0
if(zeilen > 0 )
{
return true;
}
else
{
return false;
}
}
Funktion delete
public static boolean delete(int id) throws IOException
{
//Verbinden Server
URL url = new URL("http://localhost/personal/delete.php?id="+id);
//datenstrom für Lesen der Rückgabe aus php
HttpURLConnection conny = (HttpURLConnection) url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(conny.getInputStream()));
//Rückgabe Speichern in Variablen -- String
String rueckgabe = br.readLine();
int zeilen = Integer.parseInt(rueckgabe);
//Alles schließen
conny.disconnect();
br.close();
//Wenn rückgabe > 0
if(zeilen > 0 )
{
return true;
}
else
{
return false;
}
}
Programm - Main
package test;
import java.io.IOException;
import personal.Funktionen;
import personal.Mitarbeiter;
public class Programm {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
Mitarbeiter[] liste = Funktionen.getAll();
for(Mitarbeiter m:liste)
{
System.out.println(m);
}
boolean geht = Funktionen.update(3, 7500);
System.out.println("Update? " + geht);
geht= Funktionen.delete(2);
System.out.println("Delete? " + geht);
}
}