Implemented Update method

This commit is contained in:
Riley Schneider
2025-12-03 23:17:31 +01:00
parent f2cc964d39
commit 292d6c74c3
3 changed files with 33 additions and 10 deletions

View File

@@ -65,15 +65,14 @@ public class SimpleDatabaseManager<E> implements DatabaseManager<E> {
String query = getQuery(QueryMode.INSERT);
if (object instanceof Task task) {
try (PreparedStatement ps = connection.prepareStatement(query)) {
ps.setInt(1, task.getTaskId());
ps.setString(2, task.getName());
ps.setString(3, task.getDescription());
ps.setInt(4, task.getWorkerId());
ps.setInt(5, taskStateToInt(task.getTaskState()));
PreparedStatement ps = connection.prepareStatement(query);
ps.setInt(1, task.getTaskId());
ps.setString(2, task.getName());
ps.setString(3, task.getDescription());
ps.setInt(4, task.getWorkerId());
ps.setInt(5, taskStateToInt(task.getTaskState()));
ps.executeUpdate();
}
ps.executeUpdate();
}
}
@@ -113,6 +112,29 @@ public class SimpleDatabaseManager<E> implements DatabaseManager<E> {
@Override
public E updateObject(int taskId, E object) throws SQLException {
String query = getQuery(QueryMode.UPDATE);
if (object instanceof Task task) {
if (taskId != task.getTaskId()) {
throw new IllegalArgumentException("Task ID does not equals Task ID from Task!");
}
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, task.getName());
ps.setString(2, task.getDescription());
ps.setInt(3, taskStateToInt(task.getTaskState()));
ps.setInt(4, task.getTaskId());
int updated = ps.executeUpdate();
if (updated == 0) {
return null;
}
return (E) task;
}
return null;
}