Implemented database functionality #4

Merged
KevinSchoenmayer merged 2 commits from database into main 2025-12-18 21:13:11 +01:00
10 changed files with 67 additions and 1 deletions
Showing only changes of commit 3344ba67cc - Show all commits

19
docker/compose.yml Normal file
View File

@@ -0,0 +1,19 @@
version: "3.9"
services:
mysql:
image: mysql:8.0
container_name: mysql-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: sql7810540&
MYSQL_USER: sql7810540&
MYSQL_PASSWORD: mXdJCFtDZz
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:

View File

@@ -0,0 +1,5 @@
CREATE TABLE Worker (
id INT AUTO_INCREMENT PRIMARY KEY,
workerid INT,
name VARCHAR(255) NOT NULL
);

View File

@@ -0,0 +1 @@
INSERT INTO Worker (workerid, name) VALUES (?, ?)

View File

@@ -3,15 +3,50 @@ package hhn.temp.project.provider;
import hhn.temp.project.Task;
import hhn.temp.project.Worker;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.sql.*;
import java.util.*;
public class SimpleDatabaseManager implements DatabaseManager {
private final static Path INSERT_TASK = Path.of("./src/main/resources/sql/InsertTaskTable.sql");
private final static Path DELETE_TASK = Path.of("./src/main/resources/sql/DeleteTaskTable.sql");
private final static Path SELECT_TASK = Path.of("./src/main/resources/sql/SelectTaskTable.sql");
private final static Path UPDATE_TASK = Path.of("./src/main/resources/sql/UpdateTaskTable.sql");
private boolean connected = false;
private Map<Integer, Task> temporaryTaskList = new HashMap();
private Map<Integer, Worker> temporaryWorkerList = new HashMap<>();
public enum QueryMode {
INSERT,
SELECT,
UPDATE,
DELETE
}
public String loadFile(QueryMode queryMode) throws IOException, URISyntaxException {
switch (queryMode) {
case INSERT -> {
return Files.readString(INSERT_TASK);
}
case SELECT -> {
}
case DELETE -> {
}
case UPDATE -> {
}
}
return "";
}
@Override
public void saveTask(Task task) throws SQLException {
if (!connected) {

View File

@@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import java.io.IOException;
import java.net.URISyntaxException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
@@ -16,7 +17,7 @@ import java.util.List;
public class DatabaseGoodCasesTest {
private DatabaseManager databaseManager;
private SimpleDatabaseManager databaseManager;
@BeforeEach
public void setup() throws SQLException {
@@ -83,4 +84,9 @@ public class DatabaseGoodCasesTest {
assertEquals(0, databaseManager.getTotalNumberOfTasks());
assertEquals(0, databaseManager.getTotalNumberOfWorkers());
}
@Test
public void testRandom() throws IOException, URISyntaxException {
System.out.println(databaseManager.loadFile(SimpleDatabaseManager.QueryMode.INSERT));
}
}