Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Domain-Klasse

package de.htwberlin.krankenhaus;

public class Patient {
private Integer id;
private String name;

public Patient() {
}

public Patient(Integer id, String name) {
this.id = id;
this.name = name;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "Patient [id=" + id + ", name=" + name + "]";
}

}

Tabelle

create table patient (

pid integer not null primary key,

name varchar2(100)

);


Interface

package de.htwberlin.krankenhaus;

import java.sql.Connection;

public interface IKrankenhausService {
void setConnection(Connection connection);
void speicherePatient(Patient patient);
}

KrankenhausService

package de.htwberlin.krankenhaus;

import java.sql.Connection;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class KrankenhausService implements IKrankenhausService {
private static final Logger L = LoggerFactory.getLogger(KrankenhausService.class);
private Connection connection;

@Override
public void setConnection(Connection connection) {
this.connection = connection;

}

protected Connection useConnection() {
if (connection != null) {
return this.connection;
} else {
throw new RuntimeException("Connection not existing");
}
}

@Override
public void speicherePatient(Patient patient) {
L.info("Start");

String sql = "insert into Patient values (?,?)";

try (PreparedStatement ps = useConnection().prepareStatement(sql)) {

ps.setInt(1, patient.getId());

ps.setString(2, patient.getName());

ps.executeUpdate();

} catch (SQLException e) {

L.error("", e);

throw new DataException(e);

}

L.info("Ende");

}

}

Main

package de.htwberlin.krankenhaus;

import java.sql.Connection;
import java.sql.SQLException;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import de.htwberlin.exceptions.DataException;
import de.htwberlin.utils.DbCred;
import de.htwberlin.utils.JdbcUtils;

public class KrankenhausMain {
private static final Logger L = LoggerFactory.getLogger(KrankenhausMain.class);

public static void main(String[] args) {
IKrankenhausService ks = new KrankenhausService();

try (Connection connection = JdbcUtils.getConnectionViaDriverManager(DbCred.url, DbCred.user, DbCred.password)) {
ks.setConnection(connection);
Patient p = new Patient(1, "Özdem");
ks.speicherePatient(p);
} catch (SQLException e) {
L.error("Verbindungsaufbau gescheitert", e);
} catch (DataException e) {
L.error("DataException");
}

}

}

log4j.properties

log4j.rootLogger=warn, stdout

log4j.logger.de.htwberlin.intro=debug
log4j.logger.de.htwberlin.auktion=debug
log4j.logger.de.htwberlin.raum=debug
log4j.logger.de.htwberlin.utils=debug
log4j.logger.de.htwberlin.test=warn
log4j.logger.de.htwberlin.krankenhaus=info

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# log4j.appender.stdout.layout.ConversionPattern= %M %x - %m%n
log4j.appender.stdout.layout.ConversionPattern=%-4r %-5p %c %M %x - %m%n