#32 multi module: db setting

This commit is contained in:
haerong22
2023-01-29 02:40:51 +09:00
parent 3894ada549
commit 2e381a04d0
8 changed files with 78 additions and 1 deletions

View File

@@ -1,2 +1,5 @@
### ###
GET http://localhost:8080/save GET http://localhost:8080/save
###
GET http://localhost:8080/find

View File

@@ -2,6 +2,8 @@ package com.example.moduleapi;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@SpringBootApplication( @SpringBootApplication(
scanBasePackages = { scanBasePackages = {
@@ -9,6 +11,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
"com.example.modulecommon" "com.example.modulecommon"
} }
) )
@EntityScan("com.example.modulecommon.domain")
@EnableJpaRepositories(basePackages = "com.example.modulecommon.repository")
public class ModuleApiApplication { public class ModuleApiApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@@ -2,11 +2,15 @@ package com.example.moduleapi.response;
import com.example.modulecommon.enums.CodeEnum; import com.example.modulecommon.enums.CodeEnum;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
@Getter @Getter
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class CommonResponse<T> { public class CommonResponse<T> {

View File

@@ -1,7 +1,9 @@
package com.example.moduleapi.service; package com.example.moduleapi.service;
import com.example.moduleapi.exception.CustomException; import com.example.moduleapi.exception.CustomException;
import com.example.modulecommon.domain.Member;
import com.example.modulecommon.enums.CodeEnum; import com.example.modulecommon.enums.CodeEnum;
import com.example.modulecommon.repository.MemberRepository;
import com.example.modulecommon.sevice.CommonDemoService; import com.example.modulecommon.sevice.CommonDemoService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -11,14 +13,22 @@ import org.springframework.stereotype.Service;
public class DemoService { public class DemoService {
private final CommonDemoService commonDemoService; private final CommonDemoService commonDemoService;
private final MemberRepository memberRepository;
public String save() { public String save() {
memberRepository.save(
Member.builder()
.name("name")
.build()
);
System.out.println(CodeEnum.SUCCESS.getCode()); System.out.println(CodeEnum.SUCCESS.getCode());
System.out.println(commonDemoService.commonService()); System.out.println(commonDemoService.commonService());
return "save"; return "save";
} }
public String find() { public String find() {
int size = memberRepository.findAll().size();
System.out.println("DB size : " + size);
return "find"; return "find";
} }

View File

@@ -1 +1,21 @@
spring:
main:
allow-bean-definition-overriding: true
datasource:
url: jdbc:h2:mem:~/testdb
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
database-platform: org.hibernate.dialect.H2Dialect
hibernate:
ddl-auto: create
properties:
hibernate:
show_sql: true
format_sql: true
use_sql_comments: true
jdbc:
time_zone: Asia/Seoul

View File

@@ -2,6 +2,7 @@ plugins {
id 'java' id 'java'
id 'org.springframework.boot' version '2.7.8' id 'org.springframework.boot' version '2.7.8'
id 'io.spring.dependency-management' version '1.0.15.RELEASE' id 'io.spring.dependency-management' version '1.0.15.RELEASE'
id 'java-library'
} }
group = 'com.example' group = 'com.example'
@@ -14,6 +15,10 @@ repositories {
dependencies { dependencies {
implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter'
api 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.h2database:h2'
compileOnly 'org.projectlombok:lombok' compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.boot:spring-boot-starter-test'

View File

@@ -0,0 +1,24 @@
package com.example.modulecommon.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Getter
@Builder
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class Member {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}

View File

@@ -0,0 +1,7 @@
package com.example.modulecommon.repository;
import com.example.modulecommon.domain.Member;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MemberRepository extends JpaRepository<Member, Long> {
}