diff options
Diffstat (limited to 'sql-persistence/src/main/java/io/trygvis/persistence/sql/SqlSessionFactory.java')
-rw-r--r-- | sql-persistence/src/main/java/io/trygvis/persistence/sql/SqlSessionFactory.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/sql-persistence/src/main/java/io/trygvis/persistence/sql/SqlSessionFactory.java b/sql-persistence/src/main/java/io/trygvis/persistence/sql/SqlSessionFactory.java new file mode 100644 index 0000000..adf36d3 --- /dev/null +++ b/sql-persistence/src/main/java/io/trygvis/persistence/sql/SqlSessionFactory.java @@ -0,0 +1,23 @@ +package io.trygvis.persistence.sql; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.SQLException; + +public abstract class SqlSessionFactory<T extends SqlSession> { + private final SqlUnit unit; + private final DataSource ds; + + public SqlSessionFactory(SqlUnit unit, DataSource ds) { + this.unit = unit; + this.ds = ds; + } + + public T newSession() throws SQLException { + Connection c = ds.getConnection(); + + return newSession(c); + } + + protected abstract T newSession(Connection c); +} |