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