From 903678abdcbd05fa6daa4cea262a913b815a8c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20S=C3=A4ume?= Date: Sat, 27 Apr 2024 20:47:42 +0200 Subject: [PATCH] #16: Setup Nurse Model & DAO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Dominik Säume --- .../de/hitec/nhplus/datastorage/NurseDao.java | 115 ++++++++++++++++++ .../java/de/hitec/nhplus/model/Nurse.java | 40 ++++++ 2 files changed, 155 insertions(+) create mode 100644 src/main/java/de/hitec/nhplus/datastorage/NurseDao.java create mode 100644 src/main/java/de/hitec/nhplus/model/Nurse.java diff --git a/src/main/java/de/hitec/nhplus/datastorage/NurseDao.java b/src/main/java/de/hitec/nhplus/datastorage/NurseDao.java new file mode 100644 index 0000000..73f7826 --- /dev/null +++ b/src/main/java/de/hitec/nhplus/datastorage/NurseDao.java @@ -0,0 +1,115 @@ +package de.hitec.nhplus.datastorage; + +import de.hitec.nhplus.model.Nurse; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +public class NurseDao extends DaoImp { + public NurseDao(Connection connection) { + super(connection); + } + + @Override + protected PreparedStatement getCreateStatement(Nurse nurse) { + PreparedStatement preparedStatement = null; + try { + final String SQL = "INSERT INTO patient (firstname, surname, phoneNumber)" + + "VALUES (?, ?, ?)"; + preparedStatement = this.connection.prepareStatement(SQL); + preparedStatement.setString(1, nurse.getFirstName()); + preparedStatement.setString(2, nurse.getSurname()); + preparedStatement.setString(3, nurse.getPhoneNumber()); + } catch (SQLException exception) { + exception.printStackTrace(); + } + return preparedStatement; + } + + @Override + protected PreparedStatement getReadByIDStatement(long nid) { + PreparedStatement preparedStatement = null; + try { + final String SQL = "SELECT * FROM nurse WHERE nid = ?"; + preparedStatement = this.connection.prepareStatement(SQL); + preparedStatement.setLong(1, nid); + } catch (SQLException exception) { + exception.printStackTrace(); + } + return preparedStatement; + } + + @Override + protected Nurse getInstanceFromResultSet(ResultSet result) throws SQLException { + return new Nurse( + result.getLong(1), + result.getString(2), + result.getString(3), + result.getString(4) + ); + } + + @Override + protected PreparedStatement getReadAllStatement() { + PreparedStatement statement = null; + try { + final String SQL = "SELECT * FROM nurse"; + statement = this.connection.prepareStatement(SQL); + } catch (SQLException exception) { + exception.printStackTrace(); + } + return statement; + } + + @Override + protected ArrayList getListFromResultSet(ResultSet result) throws SQLException { + ArrayList list = new ArrayList<>(); + while (result.next()) { + list.add(new Nurse( + result.getLong(1), + result.getString(2), + result.getString(3), + result.getString(4) + )); + } + return list; + } + + + @Override + protected PreparedStatement getUpdateStatement(Nurse nurse) { + PreparedStatement preparedStatement = null; + try { + final String SQL = + "UPDATE nurse SET " + + "firstname = ?, " + + "surname = ?, " + + "phoneNumber = ?, " + + "WHERE nid = ?"; + preparedStatement = this.connection.prepareStatement(SQL); + preparedStatement.setString(1, nurse.getFirstName()); + preparedStatement.setString(2, nurse.getSurname()); + preparedStatement.setString(3, nurse.getPhoneNumber()); + preparedStatement.setLong(4, nurse.getNid()); + } catch (SQLException exception) { + exception.printStackTrace(); + } + return preparedStatement; + } + + @Override + protected PreparedStatement getDeleteStatement(long nid) { + PreparedStatement preparedStatement = null; + try { + final String SQL = "DELETE FROM nurse WHERE nid = ?"; + preparedStatement = this.connection.prepareStatement(SQL); + preparedStatement.setLong(1, nid); + } catch (SQLException exception) { + exception.printStackTrace(); + } + return preparedStatement; + } +} diff --git a/src/main/java/de/hitec/nhplus/model/Nurse.java b/src/main/java/de/hitec/nhplus/model/Nurse.java new file mode 100644 index 0000000..c3899e5 --- /dev/null +++ b/src/main/java/de/hitec/nhplus/model/Nurse.java @@ -0,0 +1,40 @@ +package de.hitec.nhplus.model; + +import javafx.beans.property.SimpleLongProperty; +import javafx.beans.property.SimpleStringProperty; + +public class Nurse extends Person { + private SimpleLongProperty nid; + private SimpleStringProperty phoneNumber; + + public Nurse( + long nid, + String firstName, + String surname, + String phoneNumber + ) { + super(firstName, surname); + this.nid = new SimpleLongProperty(nid); + this.phoneNumber = new SimpleStringProperty(phoneNumber); + } + + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber.set(phoneNumber); + } + + public long getNid() { + return nid.get(); + } + + public SimpleLongProperty nidProperty() { + return nid; + } + + public String getPhoneNumber() { + return phoneNumber.get(); + } + + public SimpleStringProperty phoneNumberProperty() { + return phoneNumber; + } +}