diff --git a/src/main/java/space/kklochko/jdbc_hospital_example/db/factories/DataBaseConnection.java b/src/main/java/space/kklochko/jdbc_hospital_example/db/factories/DataBaseConnection.java new file mode 100644 index 0000000..81bac11 --- /dev/null +++ b/src/main/java/space/kklochko/jdbc_hospital_example/db/factories/DataBaseConnection.java @@ -0,0 +1,21 @@ +package space.kklochko.jdbc_hospital_example.db.factories; + +import lombok.Setter; +import space.kklochko.jdbc_hospital_example.config.models.DataBaseConfig; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +@Setter +public class DataBaseConnection extends DataBaseConnectionFactory { + private DataBaseConfig dbConfig; + + public DataBaseConnection(DataBaseConfig dbConfig) { + setDbConfig(dbConfig); + } + + public Connection connect() throws SQLException { + return DriverManager.getConnection(dbConfig.getUrl(), dbConfig.getProperties()); + } +} diff --git a/src/main/java/space/kklochko/jdbc_hospital_example/db/factories/DataBaseConnectionFactory.java b/src/main/java/space/kklochko/jdbc_hospital_example/db/factories/DataBaseConnectionFactory.java new file mode 100644 index 0000000..d7013be --- /dev/null +++ b/src/main/java/space/kklochko/jdbc_hospital_example/db/factories/DataBaseConnectionFactory.java @@ -0,0 +1,8 @@ +package space.kklochko.jdbc_hospital_example.db.factories; + +import java.sql.Connection; +import java.sql.SQLException; + +public abstract class DataBaseConnectionFactory { + abstract public Connection connect() throws SQLException; +}