From efc9f9c77cc1bd9953e3d73937deee9352893583 Mon Sep 17 00:00:00 2001 From: kapcake Date: Sat, 6 May 2023 22:54:19 +0200 Subject: [PATCH] Configure H2 database and add repositories --- pom.xml | 2 +- .../config/BankingServiceConfig.java | 14 ++++++++++++++ .../net/kapcake/bankingservice/domain/User.java | 6 ++---- .../repositories/AddressRepository.java | 7 +++++++ .../repositories/BankAccountRepository.java | 7 +++++++ .../repositories/PaymentRepository.java | 7 +++++++ .../repositories/UserRepository.java | 7 +++++++ src/main/resources/application.properties | 1 - src/main/resources/application.yml | 9 +++++++++ src/main/resources/data.sql | 5 +++++ 10 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 src/main/java/net/kapcake/bankingservice/config/BankingServiceConfig.java create mode 100644 src/main/java/net/kapcake/bankingservice/repositories/AddressRepository.java create mode 100644 src/main/java/net/kapcake/bankingservice/repositories/BankAccountRepository.java create mode 100644 src/main/java/net/kapcake/bankingservice/repositories/PaymentRepository.java create mode 100644 src/main/java/net/kapcake/bankingservice/repositories/UserRepository.java delete mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/data.sql diff --git a/pom.xml b/pom.xml index 37ece3b..6d1fee4 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ com.h2database h2 - runtime + org.springframework.boot diff --git a/src/main/java/net/kapcake/bankingservice/config/BankingServiceConfig.java b/src/main/java/net/kapcake/bankingservice/config/BankingServiceConfig.java new file mode 100644 index 0000000..6262b45 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/config/BankingServiceConfig.java @@ -0,0 +1,14 @@ +package net.kapcake.bankingservice.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.h2.tools.Server; +import java.sql.SQLException; + +@Configuration +public class BankingServiceConfig { + @Bean(initMethod = "start", destroyMethod = "stop") + public Server h2Server() throws SQLException { + return Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092"); + } +} diff --git a/src/main/java/net/kapcake/bankingservice/domain/User.java b/src/main/java/net/kapcake/bankingservice/domain/User.java index a5a1bbd..ff2df33 100644 --- a/src/main/java/net/kapcake/bankingservice/domain/User.java +++ b/src/main/java/net/kapcake/bankingservice/domain/User.java @@ -1,13 +1,11 @@ package net.kapcake.bankingservice.domain; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.Id; -import jakarta.persistence.ManyToOne; +import jakarta.persistence.*; import lombok.Data; @Entity @Data +@Table(name = "BANKING_USER") public class User { @Id @GeneratedValue diff --git a/src/main/java/net/kapcake/bankingservice/repositories/AddressRepository.java b/src/main/java/net/kapcake/bankingservice/repositories/AddressRepository.java new file mode 100644 index 0000000..9daa9b5 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/repositories/AddressRepository.java @@ -0,0 +1,7 @@ +package net.kapcake.bankingservice.repositories; + +import net.kapcake.bankingservice.domain.Address; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface AddressRepository extends JpaRepository { +} diff --git a/src/main/java/net/kapcake/bankingservice/repositories/BankAccountRepository.java b/src/main/java/net/kapcake/bankingservice/repositories/BankAccountRepository.java new file mode 100644 index 0000000..89281f6 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/repositories/BankAccountRepository.java @@ -0,0 +1,7 @@ +package net.kapcake.bankingservice.repositories; + +import net.kapcake.bankingservice.domain.BankAccount; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface BankAccountRepository extends JpaRepository { +} diff --git a/src/main/java/net/kapcake/bankingservice/repositories/PaymentRepository.java b/src/main/java/net/kapcake/bankingservice/repositories/PaymentRepository.java new file mode 100644 index 0000000..bfbf504 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/repositories/PaymentRepository.java @@ -0,0 +1,7 @@ +package net.kapcake.bankingservice.repositories; + +import net.kapcake.bankingservice.domain.Payment; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface PaymentRepository extends JpaRepository { +} diff --git a/src/main/java/net/kapcake/bankingservice/repositories/UserRepository.java b/src/main/java/net/kapcake/bankingservice/repositories/UserRepository.java new file mode 100644 index 0000000..5d39f03 --- /dev/null +++ b/src/main/java/net/kapcake/bankingservice/repositories/UserRepository.java @@ -0,0 +1,7 @@ +package net.kapcake.bankingservice.repositories; + +import net.kapcake.bankingservice.domain.User; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface UserRepository extends JpaRepository { +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 8b13789..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..f34094e --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,9 @@ +spring: + datasource: + url: jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1 + driver-class-name: org.h2.Driver + username: bank + password: bankPassword + jpa: + database-platform: org.hibernate.dialect.H2Dialect + defer-datasource-initialization: true \ No newline at end of file diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql new file mode 100644 index 0000000..4c00c0a --- /dev/null +++ b/src/main/resources/data.sql @@ -0,0 +1,5 @@ +INSERT INTO ADDRESS (id, street, number, postal_code, country) +values (1, 'street', 1, 9999, 'Luxembourg'); + +INSERT INTO BANKING_USER (id, username, password, address_id) +values (1, 'user1', 'test', 1);