feat : jpa설정 및 프로퍼티 수정

pull/2/head
Kurt92 5 months ago
parent 8abfcba617
commit 4626fabbda

@ -66,6 +66,8 @@ dependencies {
// ===== ===== // ===== =====
// - MVC, REST, // - MVC, REST,
implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web'
// - JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
// - Bean Validation API // - Bean Validation API
implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-validation'
// AOP - // AOP -
@ -154,6 +156,30 @@ dependencies {
providedCompile "org.apache.tomcat:tomcat-servlet-api:${tomcatVersion}" providedCompile "org.apache.tomcat:tomcat-servlet-api:${tomcatVersion}"
// - // -
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 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 // WAR
war { war {
archiveFileName = 'xit-framework.war' archiveFileName = 'clean-parking.war'
} }
// ===== bootWar ===== // ===== bootWar =====
// bootWar // bootWar
bootWar { bootWar {
archiveFileName = 'xit-framework-boot.war' archiveFileName = 'clean-parking-boot.war'
} }
// war , // war ,

@ -1 +1 @@
rootProject.name = 'xit-framework' rootProject.name = 'clean-parking'

@ -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());
}
}

@ -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());
}
}

@ -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 수정 수정

@ -12,14 +12,14 @@ import org.springframework.context.annotation.ComponentScan;
@ServletComponentScan @ServletComponentScan
@SpringBootApplication @SpringBootApplication
@ComponentScan(basePackages = {"go.kr.project", "egovframework"}) @ComponentScan(basePackages = {"go.kr.project", "egovframework"})
public class XitFrameworkApplication extends SpringBootServletInitializer { public class CleanParkingApplication extends SpringBootServletInitializer {
@Override @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(XitFrameworkApplication.class); return application.sources(CleanParkingApplication.class);
} }
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(XitFrameworkApplication.class, args); SpringApplication.run(CleanParkingApplication.class, args);
} }
} }

@ -7,6 +7,6 @@ public class ServletInitializer extends SpringBootServletInitializer {
@Override @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(XitFrameworkApplication.class); return application.sources(CleanParkingApplication.class);
} }
} }

@ -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);
}
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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);
}
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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);
}
}

@ -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<CpAnswer,String> {
List<CpAnswer> findAllByAsState(String number);
}

@ -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<CpBdong, Long> {
List<CpBdong> findAllByBdCodeStartingWith(String string);
List<CpBdong> findAllByBdSggName(String bdSggName);
}

@ -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<CpCancel,Integer> {
}

@ -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<CpMainEtc1, Integer> {
}

@ -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,String> {
CpMain findTopByMmCodeStartingWithOrderByMmCodeDesc(String prefix);
}

@ -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<CpSetinfo, CpSetinfoId> {
}

@ -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<CpSgg, Integer> {
}

@ -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<CpUser, Long> {
}

@ -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<CpViolation, CpViolationId> {
}

@ -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<CpAnswer,String> {
List<CpAnswer> findAllByAsState(String number);
}

@ -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<CpBdong, Integer> {
List<CpBdong> findAllByBdCodeStartingWith(String string);
}

@ -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<CpMainEtc1, Integer> {
}

@ -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,String> {
CpMain findTopByMmCodeStartingWithOrderByMmCodeDesc(String prefix);
}

@ -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<CpSetinfo, CpSetinfoId> {
}

@ -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<CpSgg, Long> {
}

@ -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<CpUser, Long> {
}

@ -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<CpViolation, CpViolationId> {
}

@ -4,19 +4,42 @@ spring:
activate: activate:
on-profile: dev on-profile: dev
datasource: datasource:
driver-class-name: org.mariadb.jdbc.Driver cp:
url: jdbc:mariadb://211.119.124.9:4407/xitframework?characterEncoding=UTF-8&serverTimezone=Asia/Seoul driver-class-name: org.mariadb.jdbc.Driver
username: egov url: jdbc:mariadb://211.119.124.122:53306/demon_test_cp?useUnicode=true&characterEncoding=utf8
password: xit1807 username: root
hikari: password: xit5811807
maximum-pool-size: 10 hikari:
minimum-idle: 5 maximum-pool-size: 10
connection-timeout: 30000 minimum-idle: 5
idle-timeout: 600000 connection-timeout: 30000
max-lifetime: 1800000 idle-timeout: 600000
validation-timeout: 60000 #60초 max-lifetime: 1800000
#hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) validation-timeout: 60000 #60초
#connection-test-query: select 1 #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: mail:
host: smtp.gmail.com host: smtp.gmail.com
port: 587 port: 587

@ -9,19 +9,42 @@ spring:
restart: restart:
enabled: true enabled: true
datasource: datasource:
driver-class-name: org.mariadb.jdbc.Driver cp:
url: jdbc:mariadb://211.119.124.9:4407/xitframework?characterEncoding=UTF-8&serverTimezone=Asia/Seoul driver-class-name: org.mariadb.jdbc.Driver
username: egov url: jdbc:mariadb://211.119.124.122:53306/demon_test_cp?useUnicode=true&characterEncoding=utf8
password: xit1807 username: root
hikari: password: xit5811807
maximum-pool-size: 10 hikari:
minimum-idle: 5 maximum-pool-size: 10
connection-timeout: 30000 minimum-idle: 5
idle-timeout: 600000 connection-timeout: 30000
max-lifetime: 1800000 idle-timeout: 600000
validation-timeout: 60000 #60초 max-lifetime: 1800000
#hikari.connection-test-query 는 JDBC 4.0 이상을 사용하면 설정하지 않는 것을 권장. (공식문서) validation-timeout: 60000 #60초
#connection-test-query: select 1 #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: mail:
host: smtp.gmail.com host: smtp.gmail.com
port: 587 port: 587

@ -25,29 +25,29 @@ spring:
prefix: /WEB-INF/views/ prefix: /WEB-INF/views/
suffix: .jsp suffix: .jsp
# Quartz Scheduler configuration # Quartz Scheduler configuration
quartz: # quartz:
job-store-type: jdbc # JDBC 기반 Job Store 사용 # job-store-type: jdbc # JDBC 기반 Job Store 사용
jdbc: # jdbc:
initialize-schema: never # 스키마 초기화 방지 (직접 생성) # initialize-schema: never # 스키마 초기화 방지 (직접 생성)
properties: # properties:
org.quartz.scheduler.instanceName: XitClusteredScheduler # org.quartz.scheduler.instanceName: XitClusteredScheduler
org.quartz.scheduler.instanceId: AUTO # 자동 인스턴스 ID 생성 # org.quartz.scheduler.instanceId: AUTO # 자동 인스턴스 ID 생성
org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX # org.quartz.jobStore.class: org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate # org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties: true # org.quartz.jobStore.useProperties: true
org.quartz.jobStore.tablePrefix: qrtz_ # Quartz 테이블 접두사 (소문자로 변경) # org.quartz.jobStore.tablePrefix: qrtz_ # Quartz 테이블 접두사 (소문자로 변경)
org.quartz.jobStore.isClustered: true # 클러스터링 활성화 # org.quartz.jobStore.isClustered: true # 클러스터링 활성화
org.quartz.jobStore.clusterCheckinInterval: 20000 # 클러스터 체크인 간격 (ms) # org.quartz.jobStore.clusterCheckinInterval: 20000 # 클러스터 체크인 간격 (ms)
org.quartz.jobStore.dataSource: quartzDataSource # 데이터소스 지정 추가 # org.quartz.jobStore.dataSource: quartzDataSource # 데이터소스 지정 추가
org.quartz.dataSource.quartzDataSource.provider: hikaricp # 데이터소스 제공자 # org.quartz.dataSource.quartzDataSource.provider: hikaricp # 데이터소스 제공자
org.quartz.dataSource.quartzDataSource.driver: org.mariadb.jdbc.Driver # MariaDB 드라이버 # org.quartz.dataSource.quartzDataSource.driver: org.mariadb.jdbc.Driver # MariaDB 드라이버
org.quartz.dataSource.quartzDataSource.URL: ${spring.datasource.url} # 데이터베이스 URL # org.quartz.dataSource.quartzDataSource.URL: ${spring.datasource.url} # 데이터베이스 URL
org.quartz.dataSource.quartzDataSource.user: ${spring.datasource.username} # 데이터베이스 사용자 # org.quartz.dataSource.quartzDataSource.user: ${spring.datasource.username} # 데이터베이스 사용자
org.quartz.dataSource.quartzDataSource.password: ${spring.datasource.password} # 데이터베이스 비밀번호 # org.quartz.dataSource.quartzDataSource.password: ${spring.datasource.password} # 데이터베이스 비밀번호
org.quartz.dataSource.quartzDataSource.maxConnections: 5 # 최대 연결 수 # org.quartz.dataSource.quartzDataSource.maxConnections: 5 # 최대 연결 수
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool # org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 10 # 스레드 풀 크기 # org.quartz.threadPool.threadCount: 10 # 스레드 풀 크기
org.quartz.threadPool.threadPriority: 5 # 스레드 우선순위 # org.quartz.threadPool.threadPriority: 5 # 스레드 우선순위
# MyBatis configuration # MyBatis configuration
# MyBatis-Spring-Boot-Starter는 DataSource를 이용해 SqlSessionFactory 빈을 자동으로 생성 # MyBatis-Spring-Boot-Starter는 DataSource를 이용해 SqlSessionFactory 빈을 자동으로 생성

Loading…
Cancel
Save