From 4626fabbda87bd44978d075b5257c5e90f4022d7 Mon Sep 17 00:00:00 2001 From: Kurt92 Date: Mon, 28 Jul 2025 13:39:00 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20jpa=EC=84=A4=EC=A0=95=20=EB=B0=8F=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=8D=BC=ED=8B=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 30 +++- settings.gradle | 2 +- .../config/JPAConf/CpDbConf.java | 62 +++++++ .../config/JPAConf/EpDbConf.java | 56 ++++++ .../config/JPAConf/JPAConfig.java | 20 +++ ...tion.java => CleanParkingApplication.java} | 6 +- .../go/kr/project/ServletInitializer.java | 2 +- .../go/kr/project/domain/entity/CpAnswer.java | 100 +++++++++++ .../go/kr/project/domain/entity/CpBdong.java | 26 +++ .../go/kr/project/domain/entity/CpCancel.java | 46 +++++ .../go/kr/project/domain/entity/CpMain.java | 162 ++++++++++++++++++ .../kr/project/domain/entity/CpMainEtc1.java | 33 ++++ .../kr/project/domain/entity/CpSetinfo.java | 79 +++++++++ .../kr/project/domain/entity/CpSetinfoId.java | 41 +++++ .../go/kr/project/domain/entity/CpSgg.java | 27 +++ .../go/kr/project/domain/entity/CpUser.java | 78 +++++++++ .../kr/project/domain/entity/CpViolation.java | 59 +++++++ .../project/domain/entity/CpViolationId.java | 41 +++++ .../domain/repo/cp/CpAnswerRepository.java | 10 ++ .../domain/repo/cp/CpBdongRepository.java | 13 ++ .../domain/repo/cp/CpCancelRepository.java | 7 + .../domain/repo/cp/CpMainEtc1Repository.java | 8 + .../domain/repo/cp/CpMainRepository.java | 11 ++ .../domain/repo/cp/CpSetinfoRepository.java | 12 ++ .../domain/repo/cp/CpSggRepository.java | 7 + .../domain/repo/cp/CpUserRepository.java | 7 + .../domain/repo/cp/CpViolationRepository.java | 8 + .../domain/repo/ep/EpAnswerRepository.java | 10 ++ .../domain/repo/ep/EpBdongRepository.java | 11 ++ .../domain/repo/ep/EpMainEtc1Repository.java | 7 + .../domain/repo/ep/EpMainRepository.java | 11 ++ .../domain/repo/ep/EpSetinfoRepository.java | 12 ++ .../domain/repo/ep/EpSggRepository.java | 7 + .../domain/repo/ep/EpUserRepository.java | 7 + .../domain/repo/ep/EpViolationRepository.java | 8 + src/main/resources/application-dev.yml | 49 ++++-- src/main/resources/application-local.yml | 49 ++++-- src/main/resources/application.yml | 46 ++--- 38 files changed, 1114 insertions(+), 56 deletions(-) create mode 100644 src/main/java/egovframework/config/JPAConf/CpDbConf.java create mode 100644 src/main/java/egovframework/config/JPAConf/EpDbConf.java create mode 100644 src/main/java/egovframework/config/JPAConf/JPAConfig.java rename src/main/java/go/kr/project/{XitFrameworkApplication.java => CleanParkingApplication.java} (79%) create mode 100644 src/main/java/go/kr/project/domain/entity/CpAnswer.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpBdong.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpCancel.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpMain.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpMainEtc1.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpSetinfo.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpSetinfoId.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpSgg.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpUser.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpViolation.java create mode 100644 src/main/java/go/kr/project/domain/entity/CpViolationId.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpAnswerRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpBdongRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpCancelRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpMainEtc1Repository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpMainRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpSetinfoRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpSggRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpUserRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/cp/CpViolationRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpAnswerRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpBdongRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpMainEtc1Repository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpMainRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpSetinfoRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpSggRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpUserRepository.java create mode 100644 src/main/java/go/kr/project/domain/repo/ep/EpViolationRepository.java diff --git a/build.gradle b/build.gradle index 0e2d35b..550f818 100644 --- a/build.gradle +++ b/build.gradle @@ -66,6 +66,8 @@ dependencies { // ===== 스프링 부트 핵심 의존성 ===== // 스프링 부트 웹 스타터 - MVC, REST, 내장 톰캣 등 웹 개발에 필요한 기본 의존성 포함 implementation 'org.springframework.boot:spring-boot-starter-web' + // 스프링 부트 웹 스타터 - JPA + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // 스프링 부트 유효성 검사 스타터 - Bean Validation API 구현체 포함 implementation 'org.springframework.boot:spring-boot-starter-validation' // 스프링 부트 AOP 스타터 - 관점 지향 프로그래밍 지원 @@ -154,6 +156,30 @@ dependencies { providedCompile "org.apache.tomcat:tomcat-servlet-api:${tomcatVersion}" // 스프링 부트 톰캣 - 외부 톰캣 배포 시 내장 톰캣 제외 providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' + + + // === QueryDsl start === + + // == 스프링 부트 3.0 이상 == +// implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' +// annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" +// annotationProcessor "jakarta.annotation:jakarta.annotation-api" +// annotationProcessor "jakarta.persistence:jakarta.persistence-api" +// +// compileOnly 'org.projectlombok:lombok' +// annotationProcessor 'org.projectlombok:lombok' +// runtimeOnly 'com.mysql:mysql-connector-j' + + // == 스프링 부트 3.0 미만 == + implementation 'com.querydsl:querydsl-jpa' + annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" + + annotationProcessor "jakarta.annotation:jakarta.annotation-api" + annotationProcessor "jakarta.persistence:jakarta.persistence-api" + + // === QueryDsl end === + + } // ===== 테스트 설정 ===== @@ -165,13 +191,13 @@ tasks.named('test') { // ===== WAR 파일 설정 ===== // 생성될 WAR 파일의 이름 지정 war { - archiveFileName = 'xit-framework.war' + archiveFileName = 'clean-parking.war' } // ===== bootWar 파일 설정 ===== // 생성될 bootWar 파일의 이름 지정 bootWar { - archiveFileName = 'xit-framework-boot.war' + archiveFileName = 'clean-parking-boot.war' } // war 포함 압축 푼 소스 포함, diff --git a/settings.gradle b/settings.gradle index 8861fd9..6e71194 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -rootProject.name = 'xit-framework' \ No newline at end of file +rootProject.name = 'clean-parking' \ No newline at end of file diff --git a/src/main/java/egovframework/config/JPAConf/CpDbConf.java b/src/main/java/egovframework/config/JPAConf/CpDbConf.java new file mode 100644 index 0000000..fa2c088 --- /dev/null +++ b/src/main/java/egovframework/config/JPAConf/CpDbConf.java @@ -0,0 +1,62 @@ +package egovframework.config.JPAConf; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.transaction.PlatformTransactionManager; + +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; + +@Configuration +@EnableJpaRepositories( + basePackages = "go.kr.project.domain.repo.cp", // Clean Parking용 레포지토리 경로 + entityManagerFactoryRef = "cpEntityManagerFactory", + transactionManagerRef = "cpTransactionManager" +) +public class CpDbConf { + + @Bean + @Primary + @ConfigurationProperties("spring.datasource.cp") + public DataSourceProperties cpDataSourceProperties() { + return new DataSourceProperties(); + } + + @Bean + @Primary + public DataSource cpDataSource() { + return cpDataSourceProperties().initializeDataSourceBuilder().build(); + } + + @Bean + @Primary + public LocalContainerEntityManagerFactoryBean cpEntityManagerFactory(EntityManagerFactoryBuilder builder) { + return builder + .dataSource(cpDataSource()) + .packages("go.kr.project.domain.entity") + .persistenceUnit("cp") + .build(); + } + + @Bean + @Primary + public PlatformTransactionManager cpTransactionManager( + @Qualifier("cpEntityManagerFactory") EntityManagerFactory cpEntityManagerFactory) { + return new JpaTransactionManager(cpEntityManagerFactory); + } + + @Bean + @Primary + public JPAQueryFactory cpQueryFactory(@Qualifier("cpEntityManagerFactory") EntityManagerFactory emf) { + return new JPAQueryFactory(emf.createEntityManager()); + } +} \ No newline at end of file diff --git a/src/main/java/egovframework/config/JPAConf/EpDbConf.java b/src/main/java/egovframework/config/JPAConf/EpDbConf.java new file mode 100644 index 0000000..ad92245 --- /dev/null +++ b/src/main/java/egovframework/config/JPAConf/EpDbConf.java @@ -0,0 +1,56 @@ +package egovframework.config.JPAConf; + +import com.querydsl.jpa.impl.JPAQueryFactory; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import org.springframework.orm.jpa.JpaTransactionManager; +import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; +import org.springframework.transaction.PlatformTransactionManager; + +import javax.persistence.EntityManagerFactory; +import javax.sql.DataSource; + +@Configuration +@EnableJpaRepositories( + basePackages = "go.kr.project.domain.repo.ep", // Electric Parking용 레포지토리 경로 + entityManagerFactoryRef = "epEntityManagerFactory", + transactionManagerRef = "epTransactionManager" +) +public class EpDbConf { + + @Bean + @ConfigurationProperties("spring.datasource.ep") + public DataSourceProperties epDataSourceProperties() { + return new DataSourceProperties(); + } + + @Bean + public DataSource epDataSource() { + return epDataSourceProperties().initializeDataSourceBuilder().build(); + } + + @Bean + public LocalContainerEntityManagerFactoryBean epEntityManagerFactory(EntityManagerFactoryBuilder builder) { + return builder + .dataSource(epDataSource()) + .packages("go.kr.project.domain.entity") + .persistenceUnit("ep") + .build(); + } + + @Bean + public PlatformTransactionManager epTransactionManager( + @Qualifier("epEntityManagerFactory") EntityManagerFactory epEntityManagerFactory) { + return new JpaTransactionManager(epEntityManagerFactory); + } + @Bean + public JPAQueryFactory epQueryFactory(@Qualifier("epEntityManagerFactory") EntityManagerFactory emf) { + return new JPAQueryFactory(emf.createEntityManager()); + } + +} diff --git a/src/main/java/egovframework/config/JPAConf/JPAConfig.java b/src/main/java/egovframework/config/JPAConf/JPAConfig.java new file mode 100644 index 0000000..c7a6031 --- /dev/null +++ b/src/main/java/egovframework/config/JPAConf/JPAConfig.java @@ -0,0 +1,20 @@ +package egovframework.config.JPAConf;//package com.worker.framework.JPAConf; +// +//import com.querydsl.jpa.impl.JPAQueryFactory; +//import jakarta.persistence.EntityManager; +//import jakarta.persistence.PersistenceContext; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +// +//@Configuration +//public class JPAConfig { +// +// @PersistenceContext +// private EntityManager em; +// +// @Bean +// public JPAQueryFactory jpaQueryFactory() { +// return new JPAQueryFactory(em); +// } +//} +// 멀티 db 환경으로 conf 수정 수정 \ No newline at end of file diff --git a/src/main/java/go/kr/project/XitFrameworkApplication.java b/src/main/java/go/kr/project/CleanParkingApplication.java similarity index 79% rename from src/main/java/go/kr/project/XitFrameworkApplication.java rename to src/main/java/go/kr/project/CleanParkingApplication.java index 06b9024..e333b2c 100644 --- a/src/main/java/go/kr/project/XitFrameworkApplication.java +++ b/src/main/java/go/kr/project/CleanParkingApplication.java @@ -12,14 +12,14 @@ import org.springframework.context.annotation.ComponentScan; @ServletComponentScan @SpringBootApplication @ComponentScan(basePackages = {"go.kr.project", "egovframework"}) -public class XitFrameworkApplication extends SpringBootServletInitializer { +public class CleanParkingApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(XitFrameworkApplication.class); + return application.sources(CleanParkingApplication.class); } public static void main(String[] args) { - SpringApplication.run(XitFrameworkApplication.class, args); + SpringApplication.run(CleanParkingApplication.class, args); } } diff --git a/src/main/java/go/kr/project/ServletInitializer.java b/src/main/java/go/kr/project/ServletInitializer.java index 5af9eb7..f0c778b 100644 --- a/src/main/java/go/kr/project/ServletInitializer.java +++ b/src/main/java/go/kr/project/ServletInitializer.java @@ -7,6 +7,6 @@ public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { - return application.sources(XitFrameworkApplication.class); + return application.sources(CleanParkingApplication.class); } } \ No newline at end of file diff --git a/src/main/java/go/kr/project/domain/entity/CpAnswer.java b/src/main/java/go/kr/project/domain/entity/CpAnswer.java new file mode 100644 index 0000000..45ddb3d --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpAnswer.java @@ -0,0 +1,100 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@Entity +@Table(name = "cp_answer") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpAnswer { + + @Id + @Column(name = "AS_MMCODE", length = 16) + private String asMmcode; + + @Column(name = "AS_SGGCODE", length = 5) + private String asSggcode; + + @Column(name = "AS_INGB", length = 3) + private String asIngb; + + @Column(name = "AS_JSDATE", length = 8) + private String asJsdate; + + @Column(name = "AS_JSNO", length = 30) + private String asJsno; + + @Column(name = "AS_JSNO_M", length = 30) + private String asJsnoM; + + @Column(name = "AS_BBS_NO", length = 15) + private String asBbsNo; + + @Column(name = "AS_LIMIT_DT", length = 16) + private String asLimitDt; + + @Column(name = "AS_USER", length = 50) + private String asUser; + + @Column(name = "AS_TEL", length = 20) + private String asTel; + + @Column(name = "AS_CELL", length = 20) + private String asCell; + + @Column(name = "AS_EMAIL", length = 50) + private String asEmail; + + @Column(name = "AS_STATE", length = 1) + private String asState; + + @Column(name = "AS_POST_CD", length = 1) + private String asPostCd; + + @Column(name = "AS_POST_DT", length = 14) + private String asPostDt; + + @Column(name = "AS_STATE_DT", length = 14) + private String asStateDt; + + @Column(name = "AS_TEXT", length = 1000) + private String asText; + + @Column(name = "AS_REUSER") + private Integer asReuser; + + @Column(name = "AS_INLINE", length = 1) + private String asInline; + + @Column(name = "AS_SYS_GUBUN_C", length = 8) + private String asSysGubunC; + + @Column(name = "AS_PETI_ANC_CODE_V", length = 7) + private String asPetiAncCodeV; + + @Column(name = "AS_PETI_NO_C", length = 30) + private String asPetiNoC; + + + public void changeState(String newState) { + this.asState = newState; + } + + public void changePostDtNow() { + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); + this.asPostDt = LocalDateTime.now().format(dtf); + } + +} diff --git a/src/main/java/go/kr/project/domain/entity/CpBdong.java b/src/main/java/go/kr/project/domain/entity/CpBdong.java new file mode 100644 index 0000000..b628942 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpBdong.java @@ -0,0 +1,26 @@ +package go.kr.project.domain.entity; + +import lombok.Getter; + +import javax.persistence.*; + +@Entity +@Table(name = "cp_bdong", indexes = { + @Index(name = "CP_BDONG_IDX1", columnList = "BD_CODE, BD_DONGNAME") +}) +@Getter +public class CpBdong { + + @Id + @Column(name = "BD_CODE", length = 10, nullable = false) + private String bdCode; + + @Column(name = "BD_SGGNAME", length = 40) + private String bdSggName; + + @Column(name = "BD_DONGNAME", length = 40) + private String bdDongName; + + @Column(name = "BD_ENABLE", length = 1) + private String bdEnable; +} diff --git a/src/main/java/go/kr/project/domain/entity/CpCancel.java b/src/main/java/go/kr/project/domain/entity/CpCancel.java new file mode 100644 index 0000000..c3187d3 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpCancel.java @@ -0,0 +1,46 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@Table(name = "cp_cancel", indexes = { + @Index(name = "CP_CANCEL_IDX1", columnList = "CC_MMCODE"), + @Index(name = "CP_CANCEL_IDX2", columnList = "CC_SGGCODE, CC_DATE") +}) +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpCancel { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "CC_CODE") + private Long ccCode; + + @Column(name = "CC_SGGCODE", length = 5) + private String ccSggcode; + + @Column(name = "CC_MMCODE", length = 16) + private String ccMmcode; + + @Column(name = "CC_DATE", length = 8) + private String ccDate; + + @Column(name = "CC_CAUSE", length = 3) + private String ccCause; + + @Column(name = "CC_ETC", length = 1000) + private String ccEtc; + + @Column(name = "CC_INDT", length = 14) + private String ccIndt; + + @Column(name = "CC_INUSER") + private Integer ccInuser; +} diff --git a/src/main/java/go/kr/project/domain/entity/CpMain.java b/src/main/java/go/kr/project/domain/entity/CpMain.java new file mode 100644 index 0000000..2262cf1 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpMain.java @@ -0,0 +1,162 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "cp_main") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpMain { + + @Id + @Column(name = "MM_CODE", length = 16) + private String mmCode; + + @Column(name = "MM_SGGCODE", length = 5) + private String mmSggcode; + + @Column(name = "MM_DLGB", length = 1) + private String mmDlgb; + + @Column(name = "MM_INGB", length = 2) + private String mmIngb; + + @Column(name = "MM_DATE", length = 8) + private String mmDate; + + @Column(name = "MM_TIME", length = 4) + private String mmTime; + + @Column(name = "MM_LAWGB", length = 2) + private String mmLawgb; + + @Column(name = "MM_SGNM", length = 500) + private String mmSgnm; + + @Column(name = "MM_SGTEL", length = 100) + private String mmSgtel; + + @Column(name = "MM_SGCONT", length = 1000) + private String mmSgcont; + + @Column(name = "MM_SGPOS", length = 200) + private String mmSgpos; + + @Column(name = "MM_BDCODE", length = 10) + private String mmBdcode; + + @Column(name = "MM_GPS_X", length = 20) + private String mmGpsX; + + @Column(name = "MM_GPS_Y", length = 20) + private String mmGpsY; + + @Column(name = "MM_TRAC", length = 1) + private String mmTrac; + + @Column(name = "MM_SNO", length = 20) + private String mmSno; + + @Column(name = "MM_IMAGECNT") + private Integer mmImagecnt; + + @Column(name = "MM_IMAGEGB", length = 1) + private String mmImagegb; + + @Column(name = "MM_CARNO", length = 20) + private String mmCarno; + + @Column(name = "MM_VHMNO", length = 25) + private String mmVhmno; + + @Column(name = "MM_CARGB", length = 1) + private String mmCargb; + + @Column(name = "MM_CARKIND", length = 1) + private String mmCarkind; + + @Column(name = "MM_OMCODE", length = 13) + private String mmOmcode; + + @Column(name = "MM_SDATE", length = 8) + private String mmSdate; + + @Column(name = "MM_EDATE", length = 8) + private String mmEdate; + + @Column(name = "MM_KEUM1") + private Integer mmKeum1; + + @Column(name = "MM_KEUM2") + private Integer mmKeum2; + + @Column(name = "MM_SUKEUM") + private Integer mmSukeum; + + @Column(name = "MM_MINUS_KEUM") + private Integer mmMinusKeum; + + @Column(name = "MM_ADD_KEUM") + private Integer mmAddKeum; + + @Column(name = "MM_RECALL", length = 1) + private String mmRecall; + + @Column(name = "MM_INUSER") + private Integer mmInuser; + + @Column(name = "MM_INDT", length = 14) + private String mmIndt; + + @Column(name = "MM_STATE", length = 2) + private String mmState; + + @Column(name = "MM_STATE_DT", length = 14) + private String mmStateDt; + + @Column(name = "MM_CARCHECK", length = 1) + private String mmCarcheck; + + @Column(name = "MM_PRECODE", length = 13) + private String mmPrecode; + + @Column(name = "MM_ETC", length = 1000) + private String mmEtc; + + @Column(name = "MM_VIDEOFILENM", length = 30) + private String mmVideofilenm; + + @Column(name = "MM_SAFEZONE", length = 1) + private String mmSafezone; + + @Column(name = "MM_VIORCNT", length = 4) + private String mmViorcnt; + + @Column(name = "MM_TIME2", length = 4) + private String mmTime2; + + @Column(name = "MM_CARNAME", length = 60) + private String mmCarname; + + @Column(name = "MM_CARCOLOR", length = 20) + private String mmCarcolor; + + @Column(name = "MM_CARFUEL", length = 10) + private String mmCarfuel; + + @Column(name = "MM_TRANSMIT_SGG", length = 50) + private String mmTransmitSgg; + + @Column(name = "MM_TRANSMIT_TEAM", length = 50) + private String mmTransmitTeam; +} diff --git a/src/main/java/go/kr/project/domain/entity/CpMainEtc1.java b/src/main/java/go/kr/project/domain/entity/CpMainEtc1.java new file mode 100644 index 0000000..ec1b177 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpMainEtc1.java @@ -0,0 +1,33 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "cp_main_etc1") +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpMainEtc1 { + + @Id + @Column(name = "MM_CODE", length = 16) + private String mmCode; + + @Column(name = "MM_JSDATE", length = 8) + private String mmJsdate; + + @Column(name = "MM_KEY", length = 30) + private String mmKey; + + @Column(name = "MM_TEXT", length = 4000) + private String mmText; +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/domain/entity/CpSetinfo.java b/src/main/java/go/kr/project/domain/entity/CpSetinfo.java new file mode 100644 index 0000000..95309b7 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpSetinfo.java @@ -0,0 +1,79 @@ +package go.kr.project.domain.entity; + +import lombok.Getter; + +import javax.persistence.Column; +import javax.persistence.EmbeddedId; +import javax.persistence.Entity; +import javax.persistence.Table; + +@Entity +@Table(name = "cp_setinfo") +@Getter +public class CpSetinfo { + +// @Id +// @Column(name = "CODE_NAME", length = 50) +// private String codeName; +// +// @Id +// @Column(name = "GROUP_CODE", length = 50) +// private String groupCode; +// +// @Id +// @Column(name = "DETAIL_CODE", length = 50) +// private String detailCode; + + @EmbeddedId + private CpSetinfoId id; + + + //SGG_CODE 시군구 코드 + @Column(name = "INT_VALUE1") + private Integer intValue1; + + @Column(name = "INT_VALUE2") + private Integer intValue2; + + @Column(name = "INT_VALUE3") + private Integer intValue3; + + @Column(name = "INT_VALUE4") + private Integer intValue4; + + @Column(name = "INT_VALUE5") + private Integer intValue5; + + @Column(name = "STR_VALUE1", length = 1000) + private String strValue1; + + @Column(name = "STR_VALUE2", length = 1000) + private String strValue2; + + @Column(name = "STR_VALUE3", length = 1000) + private String strValue3; + + @Column(name = "STR_VALUE4", length = 1000) + private String strValue4; + + @Column(name = "STR_VALUE5", length = 1000) + private String strValue5; + + @Column(name = "STR_VALUE6", length = 1000) + private String strValue6; + + @Column(name = "STR_VALUE7", length = 1000) + private String strValue7; + + @Column(name = "STR_VALUE8", length = 1000) + private String strValue8; + + @Column(name = "STR_VALUE9", length = 1000) + private String strValue9; + + @Column(name = "STR_VALUE10", length = 1000) + private String strValue10; + + @Column(name = "STR_VALUE11", length = 1000) + private String strValue11; +} diff --git a/src/main/java/go/kr/project/domain/entity/CpSetinfoId.java b/src/main/java/go/kr/project/domain/entity/CpSetinfoId.java new file mode 100644 index 0000000..a813299 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpSetinfoId.java @@ -0,0 +1,41 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; +import javax.persistence.Embeddable; +import java.io.Serializable; +import java.util.Objects; + +@Embeddable +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CpSetinfoId implements Serializable { + + @Column(name = "CODE_NAME") + private String codeName; + + @Column(name = "GROUP_CODE") + private String groupCode; + + @Column(name = "DETAIL_CODE") + private String detailCode; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof CpSetinfoId)) return false; + CpSetinfoId that = (CpSetinfoId) o; + return Objects.equals(codeName, that.codeName) + && Objects.equals(groupCode, that.groupCode) + && Objects.equals(detailCode, that.detailCode); + } + + @Override + public int hashCode() { + return Objects.hash(codeName, groupCode, detailCode); + } +} diff --git a/src/main/java/go/kr/project/domain/entity/CpSgg.java b/src/main/java/go/kr/project/domain/entity/CpSgg.java new file mode 100644 index 0000000..c7bc5ca --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpSgg.java @@ -0,0 +1,27 @@ +package go.kr.project.domain.entity; + +import lombok.Getter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "cp_sgg") +@Getter +public class CpSgg { + + @Id + @Column(name = "SG_SGGCODE", length = 5, nullable = false) + private String sgSggCode; + + @Column(name = "SG_SGGNAME", length = 20) + private String sgSggName; + + @Column(name = "SG_ENABLE", length = 1) + private String sgEnable; + + @Column(name = "SG_DEPCODE", length = 10) + private String sgDepCode; +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/domain/entity/CpUser.java b/src/main/java/go/kr/project/domain/entity/CpUser.java new file mode 100644 index 0000000..33c50ee --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpUser.java @@ -0,0 +1,78 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@Entity +@Table(name = "cp_user", indexes = { + @Index(name = "CP_USER_IDX1", columnList = "UM_SGGCODE") +}) +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CpUser { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "UM_CODE") + private Integer umCode; + + @Column(name = "UM_SGGCODE", length = 5) + private String umSggcode; + + @Column(name = "UM_LEVELCD", length = 1) + private String umLevelcd; + + @Column(name = "UM_LEVEL", length = 50) + private String umLevel; + + @Column(name = "UM_NAME", length = 50) + private String umName; + + @Column(name = "UM_TELNO", length = 50) + private String umTelno; + + @Column(name = "UM_EMAIL", length = 50) + private String umEmail; + + @Column(name = "UM_HWPDIRC", length = 100) + private String umHwpdirc; + + @Column(name = "UM_PASS", length = 100) + private String umPass; + + @Column(name = "UM_PERMISION", length = 100) + private String umPermision; + + @Column(name = "UM_SEALL_USER", length = 100) + private String umSeallUser; + + @Column(name = "UM_TAXE_USER", length = 100) + private String umTaxeUser; + + @Column(name = "UM_INDT", length = 14) + private String umIndt; + + @Column(name = "UM_ENABLE", length = 1) + private String umEnable; + + @Column(name = "UM_JOB_GROUP", length = 3) + private String umJobGroup; + + @Column(name = "UM_DELDT", length = 14) + private String umDeldt; + + @Column(name = "UM_IP", length = 30) + private String umIp; + + @Column(name = "UM_PASS_UPDT", length = 14) + private String umPassUpdt; + + @Column(name = "um_car_user", length = 100) + private String umCarUser; +} \ No newline at end of file diff --git a/src/main/java/go/kr/project/domain/entity/CpViolation.java b/src/main/java/go/kr/project/domain/entity/CpViolation.java new file mode 100644 index 0000000..dcfc36f --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpViolation.java @@ -0,0 +1,59 @@ +package go.kr.project.domain.entity; + +import lombok.Getter; + +import javax.persistence.Column; +import javax.persistence.EmbeddedId; +import javax.persistence.Entity; +import javax.persistence.Table; + +@Entity +@Table(name = "cp_violation") +@Getter +public class CpViolation { + +// @Id +// @Column(name = "VL_SGGCODE", length = 5, nullable = false) +// private String vlSggcode; +// +// @Id +// @Column(name = "VL_JOBGROUP", length = 2, nullable = false) +// private String vlJobgroup; +// +// @Id +// @Column(name = "VL_CODE", length = 2, nullable = false) +// private String vlCode; + + @EmbeddedId + private CpViolationId id; + + @Column(name = "VL_ID", length = 30, nullable = false) + private String vlId; + + @Column(name = "VL_LAW1", length = 100, nullable = false) + private String vlLaw1; + + @Column(name = "VL_LAW2", length = 3, nullable = false) + private String vlLaw2; + + @Column(name = "VL_LAW3", length = 3, nullable = false) + private String vlLaw3; + + @Column(name = "VL_ENABLE", length = 1, nullable = false) + private String vlEnable; + + @Column(name = "VL_SEMOK1", length = 2, nullable = false) + private String vlSemok1; + + @Column(name = "VL_SEMOK2", length = 6, nullable = false) + private String vlSemok2; + + @Column(name = "VL_KEUM", nullable = false) + private Integer vlKeum; + + @Column(name = "VL_ANSWER", length = 500, nullable = false) + private String vlAnswer; + + @Column(name = "VL_SEMOK3", length = 3) + private String vlSemok3; +} diff --git a/src/main/java/go/kr/project/domain/entity/CpViolationId.java b/src/main/java/go/kr/project/domain/entity/CpViolationId.java new file mode 100644 index 0000000..934d264 --- /dev/null +++ b/src/main/java/go/kr/project/domain/entity/CpViolationId.java @@ -0,0 +1,41 @@ +package go.kr.project.domain.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.NoArgsConstructor; + +import javax.persistence.Column; +import javax.persistence.Embeddable; +import java.io.Serializable; +import java.util.Objects; + +@Embeddable +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CpViolationId implements Serializable { + @Column(name = "VL_SGGCODE", length = 5, nullable = false) + private String vlSggcode; + + @Column(name = "VL_JOBGROUP", length = 2, nullable = false) + private String vlJobgroup; + + @Column(name = "VL_CODE", length = 2, nullable = false) + private String vlCode; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof CpViolationId)) return false; + CpViolationId that = (CpViolationId) o; + return Objects.equals(vlSggcode, that.vlSggcode) + && Objects.equals(vlJobgroup, that.vlJobgroup) + && Objects.equals(vlCode, that.vlCode); + } + + @Override + public int hashCode() { + return Objects.hash(vlSggcode, vlJobgroup, vlCode); + } + +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpAnswerRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpAnswerRepository.java new file mode 100644 index 0000000..dbab4af --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpAnswerRepository.java @@ -0,0 +1,10 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpAnswer; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface CpAnswerRepository extends JpaRepository { + List findAllByAsState(String number); +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpBdongRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpBdongRepository.java new file mode 100644 index 0000000..42ccd59 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpBdongRepository.java @@ -0,0 +1,13 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpBdong; +import org.springframework.data.repository.CrudRepository; + +import java.util.List; + +public interface CpBdongRepository extends CrudRepository { + + List findAllByBdCodeStartingWith(String string); + + List findAllByBdSggName(String bdSggName); +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpCancelRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpCancelRepository.java new file mode 100644 index 0000000..c642612 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpCancelRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpCancel; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpCancelRepository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpMainEtc1Repository.java b/src/main/java/go/kr/project/domain/repo/cp/CpMainEtc1Repository.java new file mode 100644 index 0000000..5860eff --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpMainEtc1Repository.java @@ -0,0 +1,8 @@ +package go.kr.project.domain.repo.cp; + + +import go.kr.project.domain.entity.CpMainEtc1; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpMainEtc1Repository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpMainRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpMainRepository.java new file mode 100644 index 0000000..7c076bc --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpMainRepository.java @@ -0,0 +1,11 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpMain; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface CpMainRepository extends JpaRepository { + + CpMain findTopByMmCodeStartingWithOrderByMmCodeDesc(String prefix); +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpSetinfoRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpSetinfoRepository.java new file mode 100644 index 0000000..c3edaad --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpSetinfoRepository.java @@ -0,0 +1,12 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpSetinfo; +import go.kr.project.domain.entity.CpSetinfoId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface CpSetinfoRepository extends JpaRepository { + + +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpSggRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpSggRepository.java new file mode 100644 index 0000000..64c2e85 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpSggRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpSgg; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpSggRepository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpUserRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpUserRepository.java new file mode 100644 index 0000000..6e36528 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpUserRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpUser; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpUserRepository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/cp/CpViolationRepository.java b/src/main/java/go/kr/project/domain/repo/cp/CpViolationRepository.java new file mode 100644 index 0000000..b7e19d5 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/cp/CpViolationRepository.java @@ -0,0 +1,8 @@ +package go.kr.project.domain.repo.cp; + +import go.kr.project.domain.entity.CpViolation; +import go.kr.project.domain.entity.CpViolationId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CpViolationRepository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpAnswerRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpAnswerRepository.java new file mode 100644 index 0000000..9d1600a --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpAnswerRepository.java @@ -0,0 +1,10 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpAnswer; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface EpAnswerRepository extends JpaRepository { + List findAllByAsState(String number); +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpBdongRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpBdongRepository.java new file mode 100644 index 0000000..1ac74eb --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpBdongRepository.java @@ -0,0 +1,11 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpBdong; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface EpBdongRepository extends JpaRepository { + List findAllByBdCodeStartingWith(String string); + +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpMainEtc1Repository.java b/src/main/java/go/kr/project/domain/repo/ep/EpMainEtc1Repository.java new file mode 100644 index 0000000..55ab3cc --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpMainEtc1Repository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpMainEtc1; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface EpMainEtc1Repository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpMainRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpMainRepository.java new file mode 100644 index 0000000..376a8fd --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpMainRepository.java @@ -0,0 +1,11 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpMain; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface EpMainRepository extends JpaRepository { + + CpMain findTopByMmCodeStartingWithOrderByMmCodeDesc(String prefix); +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpSetinfoRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpSetinfoRepository.java new file mode 100644 index 0000000..4658d0e --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpSetinfoRepository.java @@ -0,0 +1,12 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpSetinfo; +import go.kr.project.domain.entity.CpSetinfoId; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface EpSetinfoRepository extends JpaRepository { + + +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpSggRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpSggRepository.java new file mode 100644 index 0000000..5d79fb0 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpSggRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpSgg; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface EpSggRepository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpUserRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpUserRepository.java new file mode 100644 index 0000000..7da8d63 --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpUserRepository.java @@ -0,0 +1,7 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpUser; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface EpUserRepository extends JpaRepository { +} diff --git a/src/main/java/go/kr/project/domain/repo/ep/EpViolationRepository.java b/src/main/java/go/kr/project/domain/repo/ep/EpViolationRepository.java new file mode 100644 index 0000000..06b689e --- /dev/null +++ b/src/main/java/go/kr/project/domain/repo/ep/EpViolationRepository.java @@ -0,0 +1,8 @@ +package go.kr.project.domain.repo.ep; + +import go.kr.project.domain.entity.CpViolation; +import go.kr.project.domain.entity.CpViolationId; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface EpViolationRepository extends JpaRepository { +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 9bc056c..f72e99d 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,19 +4,42 @@ spring: activate: on-profile: dev datasource: - driver-class-name: org.mariadb.jdbc.Driver - url: jdbc:mariadb://211.119.124.9:4407/xitframework?characterEncoding=UTF-8&serverTimezone=Asia/Seoul - username: egov - password: xit1807 - hikari: - maximum-pool-size: 10 - minimum-idle: 5 - connection-timeout: 30000 - idle-timeout: 600000 - max-lifetime: 1800000 - validation-timeout: 60000 #60초 - #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) - #connection-test-query: select 1 + cp: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://211.119.124.122:53306/demon_test_cp?useUnicode=true&characterEncoding=utf8 + username: root + password: xit5811807 + hikari: + maximum-pool-size: 10 + minimum-idle: 5 + connection-timeout: 30000 + idle-timeout: 600000 + max-lifetime: 1800000 + validation-timeout: 60000 #60초 + #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) + #connection-test-query: select 1 + ep: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://211.119.124.122:53306/demon_test_ep?useUnicode=true&characterEncoding=utf8 + username: root + password: xit5811807 + hikari: + maximum-pool-size: 10 + minimum-idle: 5 + connection-timeout: 30000 + idle-timeout: 600000 + max-lifetime: 1800000 + validation-timeout: 60000 #60초 + #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) + #connection-test-query: select 1 + jpa: + show-sql: false + hibernate: + ddl-auto: none + properties: + hibernate: + format_sql: true + dialect: org.hibernate.dialect.MySQLDialect mail: host: smtp.gmail.com port: 587 diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 18dfb3b..0016a56 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -9,19 +9,42 @@ spring: restart: enabled: true datasource: - driver-class-name: org.mariadb.jdbc.Driver - url: jdbc:mariadb://211.119.124.9:4407/xitframework?characterEncoding=UTF-8&serverTimezone=Asia/Seoul - username: egov - password: xit1807 - hikari: - maximum-pool-size: 10 - minimum-idle: 5 - connection-timeout: 30000 - idle-timeout: 600000 - max-lifetime: 1800000 - validation-timeout: 60000 #60초 - #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) - #connection-test-query: select 1 + cp: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://211.119.124.122:53306/demon_test_cp?useUnicode=true&characterEncoding=utf8 + username: root + password: xit5811807 + hikari: + maximum-pool-size: 10 + minimum-idle: 5 + connection-timeout: 30000 + idle-timeout: 600000 + max-lifetime: 1800000 + validation-timeout: 60000 #60초 + #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) + #connection-test-query: select 1 + ep: + driver-class-name: org.mariadb.jdbc.Driver + url: jdbc:mariadb://211.119.124.122:53306/demon_test_ep?useUnicode=true&characterEncoding=utf8 + username: root + password: xit5811807 + hikari: + maximum-pool-size: 10 + minimum-idle: 5 + connection-timeout: 30000 + idle-timeout: 600000 + max-lifetime: 1800000 + validation-timeout: 60000 #60초 + #hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) + #connection-test-query: select 1 + jpa: + show-sql: false + hibernate: + ddl-auto: none + properties: + hibernate: + format_sql: true + dialect: org.hibernate.dialect.MySQLDialect mail: host: smtp.gmail.com port: 587 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5b941ac..628059e 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -25,29 +25,29 @@ spring: prefix: /WEB-INF/views/ suffix: .jsp # Quartz Scheduler configuration - quartz: - job-store-type: jdbc # JDBC 기반 Job Store 사용 - jdbc: - initialize-schema: never # 스키마 초기화 방지 (직접 생성) - properties: - org.quartz.scheduler.instanceName: XitClusteredScheduler - org.quartz.scheduler.instanceId: AUTO # 자동 인스턴스 ID 생성 - org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX - org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate - org.quartz.jobStore.useProperties: true - org.quartz.jobStore.tablePrefix: qrtz_ # Quartz 테이블 접두사 (소문자로 변경) - org.quartz.jobStore.isClustered: true # 클러스터링 활성화 - org.quartz.jobStore.clusterCheckinInterval: 20000 # 클러스터 체크인 간격 (ms) - org.quartz.jobStore.dataSource: quartzDataSource # 데이터소스 지정 추가 - org.quartz.dataSource.quartzDataSource.provider: hikaricp # 데이터소스 제공자 - org.quartz.dataSource.quartzDataSource.driver: org.mariadb.jdbc.Driver # MariaDB 드라이버 - org.quartz.dataSource.quartzDataSource.URL: ${spring.datasource.url} # 데이터베이스 URL - org.quartz.dataSource.quartzDataSource.user: ${spring.datasource.username} # 데이터베이스 사용자 - org.quartz.dataSource.quartzDataSource.password: ${spring.datasource.password} # 데이터베이스 비밀번호 - org.quartz.dataSource.quartzDataSource.maxConnections: 5 # 최대 연결 수 - org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool - org.quartz.threadPool.threadCount: 10 # 스레드 풀 크기 - org.quartz.threadPool.threadPriority: 5 # 스레드 우선순위 +# quartz: +# job-store-type: jdbc # JDBC 기반 Job Store 사용 +# jdbc: +# initialize-schema: never # 스키마 초기화 방지 (직접 생성) +# properties: +# org.quartz.scheduler.instanceName: XitClusteredScheduler +# org.quartz.scheduler.instanceId: AUTO # 자동 인스턴스 ID 생성 +# org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX +# org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate +# org.quartz.jobStore.useProperties: true +# org.quartz.jobStore.tablePrefix: qrtz_ # Quartz 테이블 접두사 (소문자로 변경) +# org.quartz.jobStore.isClustered: true # 클러스터링 활성화 +# org.quartz.jobStore.clusterCheckinInterval: 20000 # 클러스터 체크인 간격 (ms) +# org.quartz.jobStore.dataSource: quartzDataSource # 데이터소스 지정 추가 +# org.quartz.dataSource.quartzDataSource.provider: hikaricp # 데이터소스 제공자 +# org.quartz.dataSource.quartzDataSource.driver: org.mariadb.jdbc.Driver # MariaDB 드라이버 +# org.quartz.dataSource.quartzDataSource.URL: ${spring.datasource.url} # 데이터베이스 URL +# org.quartz.dataSource.quartzDataSource.user: ${spring.datasource.username} # 데이터베이스 사용자 +# org.quartz.dataSource.quartzDataSource.password: ${spring.datasource.password} # 데이터베이스 비밀번호 +# org.quartz.dataSource.quartzDataSource.maxConnections: 5 # 최대 연결 수 +# org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool +# org.quartz.threadPool.threadCount: 10 # 스레드 풀 크기 +# org.quartz.threadPool.threadPriority: 5 # 스레드 우선순위 # MyBatis configuration # MyBatis-Spring-Boot-Starter는 DataSource를 이용해 SqlSessionFactory 빈을 자동으로 생성