parent
6f5b2c7ee3
commit
2a14d6b212
@ -0,0 +1,11 @@
|
||||
-- 자동차 기본 사항 조회 ID 시퀀스
|
||||
-- CBMI000000000001, CBMI000000000002, ... 형태로 생성
|
||||
CREATE SEQUENCE seq_car_bass_matter_inqire
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
MINVALUE 1
|
||||
MAXVALUE 9999999999
|
||||
CACHE 1000
|
||||
NOCYCLE;
|
||||
|
||||
-- SELECT CONCAT('CBMI', LPAD(NEXTVAL(seq_car_bass_matter_inqire), 16, '0'));
|
||||
@ -0,0 +1,106 @@
|
||||
create table tb_car_bass_matter_inqire
|
||||
(
|
||||
CAR_BASS_MATTER_INQIRE varchar(20) not null comment '자동차 기본 사항 조회 ID'
|
||||
primary key,
|
||||
INFO_SYS_ID varchar(6) null comment '정보 시스템 ID',
|
||||
INFO_SYS_IP varchar(23) null comment '정보 시스템 IP',
|
||||
SIGUNGU_CODE varchar(5) null comment '시군구 코드',
|
||||
CNTC_INFO_CODE varchar(10) null comment '연계 정보 코드',
|
||||
CHARGER_ID varchar(15) null comment '담당자 ID',
|
||||
CHARGER_IP varchar(23) null comment '담당자 IP',
|
||||
CHARGER_NM varchar(75) null comment '담당자명',
|
||||
DMND_LEVY_STDDE varchar(8) null comment '요청 부과 기준일',
|
||||
DMND_INQIRE_SE_CODE varchar(1) null comment '요청 조회 구분 코드',
|
||||
DMND_VHRNO varchar(30) null comment '요청 자동차등록번호',
|
||||
DMND_VIN varchar(17) null comment '요청 차대번호',
|
||||
CNTC_RESULT_CODE varchar(8) null comment '연계 결과 코드',
|
||||
CNTC_RESULT_DTLS varchar(200) null comment '연계 결과 상세',
|
||||
PRYE varchar(4) null comment '연식',
|
||||
REGIST_DE varchar(8) null comment '등록일',
|
||||
ERSR_REGIST_SE_CODE varchar(4) null comment '말소 등록 구분 코드',
|
||||
ERSR_REGIST_SE_NM varchar(30) null comment '말소 등록 구분명',
|
||||
ERSR_REGIST_DE varchar(8) null comment '말소 등록일',
|
||||
REGIST_DETAIL_CODE varchar(3) null comment '등록 상세 코드',
|
||||
DSPLVL varchar(6) null comment '배기량',
|
||||
USE_STRNGHLD_LEGALDONG_CODE varchar(10) null comment '사용 본거지 법정동 코드',
|
||||
USE_STRNGHLD_ADSTRD_CODE varchar(10) null comment '사용 본거지 행정동 코드',
|
||||
USE_STRNGHLD_MNTN varchar(2) null comment '사용 본거지 산',
|
||||
USE_STRNGHLD_LNBR varchar(4) null comment '사용 본거지 번지',
|
||||
USE_STRNGHLD_HO varchar(4) null comment '사용 본거지 호',
|
||||
USE_STRNGHLD_ADRES_NM varchar(300) null comment '사용 본거지 상세주소',
|
||||
USE_STRNGHLD_ROAD_NM_CODE varchar(12) null comment '사용 본거지 도로명 코드',
|
||||
USGSRHLD_UNDGRND_BULD_SE_CODE varchar(1) null comment '사용 본거지 지하 건물 구분 코드',
|
||||
USE_STRNGHLD_BULD_MAIN_NO varchar(5) null comment '사용 본거지 건물 주요 번호',
|
||||
USE_STRNGHLD_BULD_SUB_NO varchar(5) null comment '사용 본거지 건물 부 번호',
|
||||
USGSRHLD_ADRES_FULL varchar(750) null comment '사용 본거지 전체주소',
|
||||
MBER_SE_CODE varchar(2) null comment '대표소유자 회원 구분 코드',
|
||||
MBER_SE_NO varchar(100) null comment '대표소유자 회원 번호',
|
||||
TELNO varchar(20) null comment '대표소유자 전화번호',
|
||||
OWNER_LEGALDONG_CODE varchar(10) null comment '소유자 법정동 코드',
|
||||
OWNER_ADSTRD_CODE varchar(10) null comment '소유자 행정동 코드',
|
||||
OWNER_MNTN varchar(2) null comment '소유자 산',
|
||||
OWNER_LNBR varchar(4) null comment '소유자 번지',
|
||||
OWNER_HO varchar(4) null comment '소유자 호',
|
||||
OWNER_ADRES_NM varchar(300) null comment '소유자 상세주소',
|
||||
OWNER_ROAD_NM_CODE varchar(12) null comment '소유자 도로명 코드',
|
||||
OWNER_UNDGRND_BULD_SE_CODE varchar(1) null comment '소유자 지하건물 구분 코드',
|
||||
OWNER_BULD_MAIN_NO varchar(5) null comment '소유자 건물 주요 번호',
|
||||
OWNER_BULD_SUB_NO varchar(5) null comment '소유자 건물 부 번호',
|
||||
OWNR_WHOLADDR varchar(750) null comment '소유자 전체주소',
|
||||
AFTR_VHRNO varchar(30) null comment '신 차량번호',
|
||||
USE_FUEL_CODE varchar(1) null comment '사용 연료 코드',
|
||||
PRPOS_SE_CODE varchar(2) null comment '용도 구분 코드',
|
||||
MTRS_FOM_NM varchar(75) null comment '원동기 형식명',
|
||||
FRNT_VHRNO varchar(30) null comment '이전 차량번호',
|
||||
VHCLNO varchar(30) null comment '차량번호',
|
||||
VIN varchar(17) null comment '차대번호',
|
||||
CNM varchar(75) null comment '차명',
|
||||
VHCLE_TOT_WT varchar(6) null comment '차량 총 중량',
|
||||
CAAG_ENDDE varchar(8) null comment '차령 만료일자',
|
||||
CHANGE_DE varchar(8) null comment '차번호 변경시기',
|
||||
VHCTY_ASORT_CODE varchar(1) null comment '차종 종별 코드',
|
||||
VHCTY_TY_CODE varchar(1) null comment '차종 유형 코드',
|
||||
VHCTY_SE_CODE varchar(1) null comment '차종 분류 코드',
|
||||
MXMM_LDG varchar(10) null comment '최대 적재량',
|
||||
VHCTY_ASORT_NM varchar(150) null comment '차종 종별명',
|
||||
VHCTY_TY_NM varchar(150) null comment '차종 유형명',
|
||||
VHCTY_SE_NM varchar(150) null comment '차종 분류명',
|
||||
FRST_REGIST_DE varchar(8) null comment '최초 등록일',
|
||||
FOM_NM varchar(75) null comment '형식',
|
||||
ACQS_DE varchar(8) null comment '취득 일자',
|
||||
ACQS_END_DE varchar(8) null comment '취득 종료일자',
|
||||
YBL_MD varchar(8) null comment '제작 년월일',
|
||||
TRANSR_REGIST_DE varchar(8) null comment '이전 등록일',
|
||||
SPCF_REGIST_STTUS_CODE varchar(6) null comment '제원 등록 상태 코드',
|
||||
COLOR_NM varchar(75) null comment '색상명',
|
||||
MRTG_CO varchar(9) null comment '저당수',
|
||||
SEIZR_CO varchar(9) null comment '압류건수',
|
||||
STMD_CO varchar(9) null comment '구조변경수',
|
||||
NMPL_CSDY_AT varchar(1) null comment '번호판 영치 여부',
|
||||
NMPL_CSDY_REMNR_DE varchar(8) null comment '번호판 영치 최고일',
|
||||
ORIGIN_SE_CODE varchar(1) null comment '출처 구분 코드',
|
||||
NMPL_STNDRD_CODE varchar(1) null comment '번호판 규격 코드',
|
||||
ACQS_AMOUNT varchar(18) null comment '취득 금액',
|
||||
INSPT_VALID_PD_BGNDE varchar(8) null comment '검사 유효 기간 시작일',
|
||||
INSPT_VALID_PD_ENDDE varchar(8) null comment '검사 유효 기간 종료일',
|
||||
USE_STRNGHLD_GRC_CODE varchar(4) null comment '사용 본거지 관청 코드',
|
||||
TKCAR_PSCAP_CO varchar(3) null comment '승차정원수',
|
||||
SPMNNO varchar(17) null comment '제원관리번호',
|
||||
TRVL_DSTNC varchar(10) null comment '주행거리',
|
||||
FRST_REGIST_RQRCNO varchar(20) null comment '최초 등록 접수번호',
|
||||
VLNT_ERSR_PRVNTC_NTICE_DE varchar(8) null comment '예고통지일',
|
||||
REGIST_INSTT_NM varchar(150) null comment '등록 기관명',
|
||||
PROCESS_IMPRTY_RESN_CODE varchar(2) null comment '처리 불가 사유 코드',
|
||||
PROCESS_IMPRTY_RESN_DTLS varchar(75) null comment '처리 불가 사유 명세',
|
||||
CBD_LT varchar(10) null comment '차체 길이',
|
||||
CBD_BT varchar(10) null comment '차체 너비',
|
||||
CBD_HG varchar(10) null comment '차체 높이',
|
||||
FRST_MXMM_LDG varchar(10) null comment '최초 최대 적재량',
|
||||
FUEL_CNSMP_RT varchar(5) null comment '연료 소비율',
|
||||
ELCTY_CMPND_FUEL_CNSMP_RT varchar(5) null comment '전기 복합 연료 소비율',
|
||||
REG_DT datetime null comment '등록 일시',
|
||||
RGTR varchar(11) null comment '등록자',
|
||||
MBER_NM varchar(75) null comment '대표소유자 성명'
|
||||
)
|
||||
comment '자동차 기본 사항 조회';
|
||||
|
||||
@ -0,0 +1,57 @@
|
||||
package com.vmis.interfaceapp.config;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
/**
|
||||
* 데이터베이스 및 트랜잭션 설정
|
||||
*
|
||||
* <p>이 클래스는 데이터베이스 연결과 트랜잭션 관리를 위한 설정을 제공합니다.
|
||||
* Spring Boot의 자동 설정을 활용하되, 명시적인 트랜잭션 관리를 위해
|
||||
* TransactionManager를 직접 설정합니다.</p>
|
||||
*
|
||||
* <ul>
|
||||
* <li>DataSource: application.yml에서 자동 설정</li>
|
||||
* <li>SqlSessionFactory: MyBatis Spring Boot Starter가 자동 생성</li>
|
||||
* <li>TransactionManager: 명시적으로 설정하여 트랜잭션 관리</li>
|
||||
* <li>MapperScan: com.vmis.interfaceapp.mapper 패키지의 Mapper 인터페이스 자동 스캔</li>
|
||||
* </ul>
|
||||
*/
|
||||
@Configuration
|
||||
@EnableTransactionManagement
|
||||
@MapperScan("com.vmis.interfaceapp.mapper")
|
||||
public class DatabaseConfig {
|
||||
|
||||
/**
|
||||
* 트랜잭션 관리자를 설정합니다.
|
||||
*
|
||||
* <p>DataSourceTransactionManager는 JDBC 기반의 트랜잭션을 관리합니다.
|
||||
* @Transactional 어노테이션을 사용하여 선언적 트랜잭션 관리가 가능합니다.</p>
|
||||
*
|
||||
* <p>트랜잭션 전파(Propagation), 격리 수준(Isolation), 타임아웃 등의
|
||||
* 세부 설정은 @Transactional 어노테이션의 속성으로 지정할 수 있습니다.</p>
|
||||
*
|
||||
* <p>예제:</p>
|
||||
* <pre>
|
||||
* {@code
|
||||
* @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
|
||||
* public void saveData() {
|
||||
* // 트랜잭션 처리가 필요한 로직
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @param dataSource Spring Boot가 자동 생성한 DataSource 빈
|
||||
* @return PlatformTransactionManager 트랜잭션 관리자 인스턴스
|
||||
*/
|
||||
@Bean
|
||||
public PlatformTransactionManager transactionManager(DataSource dataSource) {
|
||||
return new DataSourceTransactionManager(dataSource);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package com.vmis.interfaceapp.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 전역 상수 및 설정값을 관리하는 클래스
|
||||
*
|
||||
* <p>이 클래스는 애플리케이션 전반에서 사용되는 전역 설정값을 제공합니다.
|
||||
* Spring의 @Value를 통해 application.yml의 설정값을 주입받아 사용합니다.</p>
|
||||
*/
|
||||
@Component
|
||||
public class Globals {
|
||||
|
||||
/**
|
||||
* 데이터베이스 타입 (예: mariadb, oracle, mysql 등)
|
||||
*
|
||||
* <p>MyBatis Mapper XML 파일 선택 시 사용됩니다.
|
||||
* mapper-locations: classpath:mybatis/mapper/**\/*_${Globals.DbType}.xml</p>
|
||||
*
|
||||
* <p>예시:
|
||||
* <ul>
|
||||
* <li>DbType = "mariadb" → user_mariadb.xml 매핑</li>
|
||||
* <li>DbType = "oracle" → user_oracle.xml 매핑</li>
|
||||
* </ul>
|
||||
* </p>
|
||||
*/
|
||||
public static String DbType;
|
||||
|
||||
/**
|
||||
* application.yml에서 Globals.DbType 값을 주입합니다.
|
||||
*
|
||||
* @param dbType 데이터베이스 타입 (기본값: mariadb)
|
||||
*/
|
||||
@Value("${Globals.DbType:mariadb}")
|
||||
public void setDbType(String dbType) {
|
||||
Globals.DbType = dbType;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package com.vmis.interfaceapp.mapper;
|
||||
|
||||
import com.vmis.interfaceapp.model.basic.CarBassMatterInqireVO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 자동차 기본 사항 조회 Mapper
|
||||
*
|
||||
* <p>API 호출 정보를 관리하는 Mapper 인터페이스입니다.</p>
|
||||
* <ul>
|
||||
* <li>최초 요청 시: insertCarBassMatterInqire() 호출</li>
|
||||
* <li>결과 수신 시: updateCarBassMatterInqire() 호출</li>
|
||||
* </ul>
|
||||
*/
|
||||
@Mapper
|
||||
public interface CarBassMatterInqireMapper {
|
||||
|
||||
/**
|
||||
* 시퀀스로 새로운 자동차 기본 사항 조회 ID를 생성합니다.
|
||||
*
|
||||
* <p>형식: CBMI000000000001</p>
|
||||
*
|
||||
* @return 생성된 ID
|
||||
*/
|
||||
String selectNextCarBassMatterInqireId();
|
||||
|
||||
/**
|
||||
* 최초 API 요청 정보를 등록합니다.
|
||||
*
|
||||
* <p>요청 시점의 정보만 저장하며, 응답 정보는 null 상태입니다.</p>
|
||||
*
|
||||
* @param carBassMatterInqireVO 요청 정보
|
||||
* @return 등록된 행 수
|
||||
*/
|
||||
int insertCarBassMatterInqire(CarBassMatterInqireVO carBassMatterInqireVO);
|
||||
|
||||
/**
|
||||
* API 응답 결과를 업데이트합니다.
|
||||
*
|
||||
* <p>응답 받은 데이터를 기존 레코드에 업데이트합니다.</p>
|
||||
*
|
||||
* @param carBassMatterInqireVO 응답 정보 (carBassMatterInqire 필드는 필수)
|
||||
* @return 업데이트된 행 수
|
||||
*/
|
||||
int updateCarBassMatterInqire(CarBassMatterInqireVO carBassMatterInqireVO);
|
||||
|
||||
/**
|
||||
* ID로 조회 정보를 조회합니다.
|
||||
*
|
||||
* @param carBassMatterInqire 자동차 기본 사항 조회 ID
|
||||
* @return 조회된 정보
|
||||
*/
|
||||
CarBassMatterInqireVO selectCarBassMatterInqireById(String carBassMatterInqire);
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package com.vmis.interfaceapp.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 샘플 MyBatis Mapper 인터페이스
|
||||
*
|
||||
* <p>이 인터페이스는 MyBatis 설정 테스트 및 예제 용도입니다.
|
||||
* 실제 프로젝트에서는 비즈니스 요구사항에 맞는 Mapper를 작성하세요.</p>
|
||||
*
|
||||
* <p>@Mapper 어노테이션을 사용하면 Spring이 자동으로 구현체를 생성합니다.
|
||||
* XML 파일의 namespace와 이 인터페이스의 경로가 일치해야 합니다.</p>
|
||||
*/
|
||||
@Mapper
|
||||
public interface SampleMapper {
|
||||
|
||||
/**
|
||||
* 데이터베이스 연결 테스트용 쿼리
|
||||
*
|
||||
* <p>현재 시간을 조회하여 데이터베이스 연결이 정상적으로
|
||||
* 작동하는지 확인할 수 있습니다.</p>
|
||||
*
|
||||
* @return 현재 시간 문자열
|
||||
*/
|
||||
String selectCurrentTime();
|
||||
}
|
||||
@ -0,0 +1,524 @@
|
||||
package com.vmis.interfaceapp.model.basic;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 자동차 기본 사항 조회 엔티티
|
||||
*
|
||||
* <p>API 호출 정보를 저장하는 테이블 매핑 클래스입니다.
|
||||
* 최초 요청 시 INSERT, 결과 수신 시 UPDATE 형태로 사용됩니다.</p>
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CarBassMatterInqireVO {
|
||||
|
||||
/**
|
||||
* 자동차 기본 사항 조회 ID (PK)
|
||||
* 형식: CBMI000000000001
|
||||
*/
|
||||
private String carBassMatterInqire;
|
||||
|
||||
// ===== 요청 정보 =====
|
||||
/**
|
||||
* 정보 시스템 ID
|
||||
*/
|
||||
private String infoSysId;
|
||||
|
||||
/**
|
||||
* 정보 시스템 IP
|
||||
*/
|
||||
private String infoSysIp;
|
||||
|
||||
/**
|
||||
* 시군구 코드
|
||||
*/
|
||||
private String sigunguCode;
|
||||
|
||||
/**
|
||||
* 연계 정보 코드
|
||||
*/
|
||||
private String cntcInfoCode;
|
||||
|
||||
/**
|
||||
* 담당자 ID
|
||||
*/
|
||||
private String chargerId;
|
||||
|
||||
/**
|
||||
* 담당자 IP
|
||||
*/
|
||||
private String chargerIp;
|
||||
|
||||
/**
|
||||
* 담당자명
|
||||
*/
|
||||
private String chargerNm;
|
||||
|
||||
/**
|
||||
* 요청 부과 기준일
|
||||
*/
|
||||
private String dmndLevyStdde;
|
||||
|
||||
/**
|
||||
* 요청 조회 구분 코드
|
||||
*/
|
||||
private String dmndInqireSeCode;
|
||||
|
||||
/**
|
||||
* 요청 자동차등록번호
|
||||
*/
|
||||
private String dmndVhrno;
|
||||
|
||||
/**
|
||||
* 요청 차대번호
|
||||
*/
|
||||
private String dmndVin;
|
||||
|
||||
// ===== 응답 정보 (결과 수신 시 UPDATE) =====
|
||||
/**
|
||||
* 연계 결과 코드
|
||||
*/
|
||||
private String cntcResultCode;
|
||||
|
||||
/**
|
||||
* 연계 결과 상세
|
||||
*/
|
||||
private String cntcResultDtls;
|
||||
|
||||
/**
|
||||
* 연식
|
||||
*/
|
||||
private String prye;
|
||||
|
||||
/**
|
||||
* 등록일
|
||||
*/
|
||||
private String registDe;
|
||||
|
||||
/**
|
||||
* 말소 등록 구분 코드
|
||||
*/
|
||||
private String ersrRegistSeCode;
|
||||
|
||||
/**
|
||||
* 말소 등록 구분명
|
||||
*/
|
||||
private String ersrRegistSeNm;
|
||||
|
||||
/**
|
||||
* 말소 등록일
|
||||
*/
|
||||
private String ersrRegistDe;
|
||||
|
||||
/**
|
||||
* 등록 상세 코드
|
||||
*/
|
||||
private String registDetailCode;
|
||||
|
||||
/**
|
||||
* 배기량
|
||||
*/
|
||||
private String dsplvl;
|
||||
|
||||
/**
|
||||
* 사용 본거지 법정동 코드
|
||||
*/
|
||||
private String useStrnghldLegaldongCode;
|
||||
|
||||
/**
|
||||
* 사용 본거지 행정동 코드
|
||||
*/
|
||||
private String useStrnghldAdstrdCode;
|
||||
|
||||
/**
|
||||
* 사용 본거지 산
|
||||
*/
|
||||
private String useStrnghldMntn;
|
||||
|
||||
/**
|
||||
* 사용 본거지 번지
|
||||
*/
|
||||
private String useStrnghldLnbr;
|
||||
|
||||
/**
|
||||
* 사용 본거지 호
|
||||
*/
|
||||
private String useStrnghldHo;
|
||||
|
||||
/**
|
||||
* 사용 본거지 상세주소
|
||||
*/
|
||||
private String useStrnghldAdresNm;
|
||||
|
||||
/**
|
||||
* 사용 본거지 도로명 코드
|
||||
*/
|
||||
private String useStrnghldRoadNmCode;
|
||||
|
||||
/**
|
||||
* 사용 본거지 지하 건물 구분 코드
|
||||
*/
|
||||
private String usgsrhldUndgrndBuldSeCode;
|
||||
|
||||
/**
|
||||
* 사용 본거지 건물 주요 번호
|
||||
*/
|
||||
private String useStrnghldBuldMainNo;
|
||||
|
||||
/**
|
||||
* 사용 본거지 건물 부 번호
|
||||
*/
|
||||
private String useStrnghldBuldSubNo;
|
||||
|
||||
/**
|
||||
* 사용 본거지 전체주소
|
||||
*/
|
||||
private String usgsrhldAdresFull;
|
||||
|
||||
/**
|
||||
* 대표소유자 회원 구분 코드
|
||||
*/
|
||||
private String mberSeCode;
|
||||
|
||||
/**
|
||||
* 대표소유자 회원 번호
|
||||
*/
|
||||
private String mberSeNo;
|
||||
|
||||
/**
|
||||
* 대표소유자 전화번호
|
||||
*/
|
||||
private String telno;
|
||||
|
||||
/**
|
||||
* 소유자 법정동 코드
|
||||
*/
|
||||
private String ownerLegaldongCode;
|
||||
|
||||
/**
|
||||
* 소유자 행정동 코드
|
||||
*/
|
||||
private String ownerAdstrdCode;
|
||||
|
||||
/**
|
||||
* 소유자 산
|
||||
*/
|
||||
private String ownerMntn;
|
||||
|
||||
/**
|
||||
* 소유자 번지
|
||||
*/
|
||||
private String ownerLnbr;
|
||||
|
||||
/**
|
||||
* 소유자 호
|
||||
*/
|
||||
private String ownerHo;
|
||||
|
||||
/**
|
||||
* 소유자 상세주소
|
||||
*/
|
||||
private String ownerAdresNm;
|
||||
|
||||
/**
|
||||
* 소유자 도로명 코드
|
||||
*/
|
||||
private String ownerRoadNmCode;
|
||||
|
||||
/**
|
||||
* 소유자 지하건물 구분 코드
|
||||
*/
|
||||
private String ownerUndgrndBuldSeCode;
|
||||
|
||||
/**
|
||||
* 소유자 건물 주요 번호
|
||||
*/
|
||||
private String ownerBuldMainNo;
|
||||
|
||||
/**
|
||||
* 소유자 건물 부 번호
|
||||
*/
|
||||
private String ownerBuldSubNo;
|
||||
|
||||
/**
|
||||
* 소유자 전체주소
|
||||
*/
|
||||
private String ownrWholaddr;
|
||||
|
||||
/**
|
||||
* 신 차량번호
|
||||
*/
|
||||
private String aftrVhrno;
|
||||
|
||||
/**
|
||||
* 사용 연료 코드
|
||||
*/
|
||||
private String useFuelCode;
|
||||
|
||||
/**
|
||||
* 용도 구분 코드
|
||||
*/
|
||||
private String prposSeCode;
|
||||
|
||||
/**
|
||||
* 원동기 형식명
|
||||
*/
|
||||
private String mtrsFomNm;
|
||||
|
||||
/**
|
||||
* 이전 차량번호
|
||||
*/
|
||||
private String frntVhrno;
|
||||
|
||||
/**
|
||||
* 차량번호
|
||||
*/
|
||||
private String vhclno;
|
||||
|
||||
/**
|
||||
* 차대번호
|
||||
*/
|
||||
private String vin;
|
||||
|
||||
/**
|
||||
* 차명
|
||||
*/
|
||||
private String cnm;
|
||||
|
||||
/**
|
||||
* 차량 총 중량
|
||||
*/
|
||||
private String vhcleTotWt;
|
||||
|
||||
/**
|
||||
* 차령 만료일자
|
||||
*/
|
||||
private String caagEndde;
|
||||
|
||||
/**
|
||||
* 차번호 변경시기
|
||||
*/
|
||||
private String changeDe;
|
||||
|
||||
/**
|
||||
* 차종 종별 코드
|
||||
*/
|
||||
private String vhctyAsortCode;
|
||||
|
||||
/**
|
||||
* 차종 유형 코드
|
||||
*/
|
||||
private String vhctyTyCode;
|
||||
|
||||
/**
|
||||
* 차종 분류 코드
|
||||
*/
|
||||
private String vhctySeCode;
|
||||
|
||||
/**
|
||||
* 최대 적재량
|
||||
*/
|
||||
private String mxmmLdg;
|
||||
|
||||
/**
|
||||
* 차종 종별명
|
||||
*/
|
||||
private String vhctyAsortNm;
|
||||
|
||||
/**
|
||||
* 차종 유형명
|
||||
*/
|
||||
private String vhctyTyNm;
|
||||
|
||||
/**
|
||||
* 차종 분류명
|
||||
*/
|
||||
private String vhctySeNm;
|
||||
|
||||
/**
|
||||
* 최초 등록일
|
||||
*/
|
||||
private String frstRegistDe;
|
||||
|
||||
/**
|
||||
* 형식
|
||||
*/
|
||||
private String fomNm;
|
||||
|
||||
/**
|
||||
* 취득 일자
|
||||
*/
|
||||
private String acqsDe;
|
||||
|
||||
/**
|
||||
* 취득 종료일자
|
||||
*/
|
||||
private String acqsEndDe;
|
||||
|
||||
/**
|
||||
* 제작 년월일
|
||||
*/
|
||||
private String yblMd;
|
||||
|
||||
/**
|
||||
* 이전 등록일
|
||||
*/
|
||||
private String transrRegistDe;
|
||||
|
||||
/**
|
||||
* 제원 등록 상태 코드
|
||||
*/
|
||||
private String spcfRegistSttusCode;
|
||||
|
||||
/**
|
||||
* 색상명
|
||||
*/
|
||||
private String colorNm;
|
||||
|
||||
/**
|
||||
* 저당수
|
||||
*/
|
||||
private String mrtgCo;
|
||||
|
||||
/**
|
||||
* 압류건수
|
||||
*/
|
||||
private String seizrCo;
|
||||
|
||||
/**
|
||||
* 구조변경수
|
||||
*/
|
||||
private String stmdCo;
|
||||
|
||||
/**
|
||||
* 번호판 영치 여부
|
||||
*/
|
||||
private String nmplCsdyAt;
|
||||
|
||||
/**
|
||||
* 번호판 영치 최고일
|
||||
*/
|
||||
private String nmplCsdyRemnrDe;
|
||||
|
||||
/**
|
||||
* 출처 구분 코드
|
||||
*/
|
||||
private String originSeCode;
|
||||
|
||||
/**
|
||||
* 번호판 규격 코드
|
||||
*/
|
||||
private String nmplStndrdCode;
|
||||
|
||||
/**
|
||||
* 취득 금액
|
||||
*/
|
||||
private String acqsAmount;
|
||||
|
||||
/**
|
||||
* 검사 유효 기간 시작일
|
||||
*/
|
||||
private String insptValidPdBgnde;
|
||||
|
||||
/**
|
||||
* 검사 유효 기간 종료일
|
||||
*/
|
||||
private String insptValidPdEndde;
|
||||
|
||||
/**
|
||||
* 사용 본거지 관청 코드
|
||||
*/
|
||||
private String useStrnghldGrcCode;
|
||||
|
||||
/**
|
||||
* 승차정원수
|
||||
*/
|
||||
private String tkcarPscapCo;
|
||||
|
||||
/**
|
||||
* 제원관리번호
|
||||
*/
|
||||
private String spmnno;
|
||||
|
||||
/**
|
||||
* 주행거리
|
||||
*/
|
||||
private String trvlDstnc;
|
||||
|
||||
/**
|
||||
* 최초 등록 접수번호
|
||||
*/
|
||||
private String frstRegistRqrcno;
|
||||
|
||||
/**
|
||||
* 예고통지일
|
||||
*/
|
||||
private String vlntErsrPrvntcNticeDe;
|
||||
|
||||
/**
|
||||
* 등록 기관명
|
||||
*/
|
||||
private String registInsttNm;
|
||||
|
||||
/**
|
||||
* 처리 불가 사유 코드
|
||||
*/
|
||||
private String processImprtyResnCode;
|
||||
|
||||
/**
|
||||
* 처리 불가 사유 명세
|
||||
*/
|
||||
private String processImprtyResnDtls;
|
||||
|
||||
/**
|
||||
* 차체 길이
|
||||
*/
|
||||
private String cbdLt;
|
||||
|
||||
/**
|
||||
* 차체 너비
|
||||
*/
|
||||
private String cbdBt;
|
||||
|
||||
/**
|
||||
* 차체 높이
|
||||
*/
|
||||
private String cbdHg;
|
||||
|
||||
/**
|
||||
* 최초 최대 적재량
|
||||
*/
|
||||
private String frstMxmmLdg;
|
||||
|
||||
/**
|
||||
* 연료 소비율
|
||||
*/
|
||||
private String fuelCnsmpRt;
|
||||
|
||||
/**
|
||||
* 전기 복합 연료 소비율
|
||||
*/
|
||||
private String elctyCmpndFuelCnsmpRt;
|
||||
|
||||
/**
|
||||
* 등록 일시
|
||||
*/
|
||||
private LocalDateTime regDt;
|
||||
|
||||
/**
|
||||
* 등록자
|
||||
*/
|
||||
private String rgtr;
|
||||
|
||||
/**
|
||||
* 대표소유자 성명
|
||||
*/
|
||||
private String mberNm;
|
||||
}
|
||||
@ -0,0 +1,126 @@
|
||||
package com.vmis.interfaceapp.service;
|
||||
|
||||
import com.vmis.interfaceapp.mapper.CarBassMatterInqireMapper;
|
||||
import com.vmis.interfaceapp.model.basic.CarBassMatterInqireVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 자동차 기본 사항 조회 서비스
|
||||
*
|
||||
* <p>API 호출 정보를 관리하는 서비스 클래스입니다.</p>
|
||||
* <ul>
|
||||
* <li>최초 요청: createInitialRequest() - 시퀀스로 ID 생성 후 INSERT</li>
|
||||
* <li>결과 업데이트: updateResponse() - 응답 데이터 UPDATE</li>
|
||||
* </ul>
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class CarBassMatterInqireService {
|
||||
|
||||
private final CarBassMatterInqireMapper carBassMatterInqireMapper;
|
||||
|
||||
/**
|
||||
* 최초 API 요청 정보를 등록합니다.
|
||||
*
|
||||
* <p>시퀀스로 새로운 ID를 생성하여 요청 정보를 저장합니다.
|
||||
* 트랜잭션 내에서 실행되며, 예외 발생 시 롤백됩니다.</p>
|
||||
*
|
||||
* <p>사용 예시:</p>
|
||||
* <pre>
|
||||
* {@code
|
||||
* CarBassMatterInqire request = CarBassMatterInqire.builder()
|
||||
* .infoSysId("41-345")
|
||||
* .infoSysIp("105.19.10.135")
|
||||
* .sigunguCode("41460")
|
||||
* .cntcInfoCode("AC1_FD11_01")
|
||||
* .dmndVhrno("12가3456")
|
||||
* .rgtr("SYSTEM")
|
||||
* .build();
|
||||
*
|
||||
* String generatedId = service.createInitialRequest(request);
|
||||
* log.info("생성된 ID: {}", generatedId);
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @param request 요청 정보 (ID 제외)
|
||||
* @return 생성된 자동차 기본 사항 조회 ID (CBMI000000000001 형식)
|
||||
* @throws RuntimeException 저장 실패 시
|
||||
*/
|
||||
@Transactional
|
||||
public String createInitialRequest(CarBassMatterInqireVO request) {
|
||||
// 시퀀스로 새로운 ID 생성
|
||||
String generatedId = carBassMatterInqireMapper.selectNextCarBassMatterInqireId();
|
||||
log.debug("생성된 자동차 기본 사항 조회 ID: {}", generatedId);
|
||||
|
||||
// 생성된 ID 설정
|
||||
request.setCarBassMatterInqire(generatedId);
|
||||
|
||||
// INSERT
|
||||
int result = carBassMatterInqireMapper.insertCarBassMatterInqire(request);
|
||||
if (result != 1) {
|
||||
throw new RuntimeException("자동차 기본 사항 조회 정보 등록 실패");
|
||||
}
|
||||
|
||||
log.info("자동차 기본 사항 조회 정보 등록 완료 - ID: {}, 차량번호: {}, 차대번호: {}",
|
||||
generatedId, request.getDmndVhrno(), request.getDmndVin());
|
||||
|
||||
return generatedId;
|
||||
}
|
||||
|
||||
/**
|
||||
* API 응답 결과를 업데이트합니다.
|
||||
*
|
||||
* <p>기존 레코드에 응답 데이터를 업데이트합니다.
|
||||
* null이 아닌 필드만 업데이트되며, 트랜잭션 내에서 실행됩니다.</p>
|
||||
*
|
||||
* <p>사용 예시:</p>
|
||||
* <pre>
|
||||
* {@code
|
||||
* CarBassMatterInqire response = CarBassMatterInqire.builder()
|
||||
* .carBassMatterInqire("CBMI000000000001")
|
||||
* .cntcResultCode("00")
|
||||
* .cntcResultDtls("성공")
|
||||
* .vhclno("12가3456")
|
||||
* .vin("KMHXX00XXXX000000")
|
||||
* .cnm("소나타")
|
||||
* // ... 기타 응답 필드
|
||||
* .build();
|
||||
*
|
||||
* service.updateResponse(response);
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @param response 응답 정보 (carBassMatterInqire 필드 필수)
|
||||
* @throws RuntimeException 업데이트 실패 시 (레코드가 없는 경우 포함)
|
||||
*/
|
||||
@Transactional
|
||||
public void updateResponse(CarBassMatterInqireVO response) {
|
||||
if (response.getCarBassMatterInqire() == null) {
|
||||
throw new IllegalArgumentException("자동차 기본 사항 조회 ID는 필수입니다.");
|
||||
}
|
||||
|
||||
int result = carBassMatterInqireMapper.updateCarBassMatterInqire(response);
|
||||
if (result != 1) {
|
||||
throw new RuntimeException("자동차 기본 사항 조회 정보 업데이트 실패 - ID: " + response.getCarBassMatterInqire());
|
||||
}
|
||||
|
||||
log.info("자동차 기본 사항 조회 정보 업데이트 완료 - ID: {}, 결과코드: {}, 차량번호: {}",
|
||||
response.getCarBassMatterInqire(), response.getCntcResultCode(), response.getVhclno());
|
||||
}
|
||||
|
||||
/**
|
||||
* ID로 조회 정보를 조회합니다.
|
||||
*
|
||||
* @param carBassMatterInqire 자동차 기본 사항 조회 ID
|
||||
* @return 조회된 정보 (없으면 null)
|
||||
*/
|
||||
@Transactional(readOnly = true)
|
||||
public CarBassMatterInqireVO getById(String carBassMatterInqire) {
|
||||
return carBassMatterInqireMapper.selectCarBassMatterInqireById(carBassMatterInqire);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.vmis.interfaceapp.mapper.CarBassMatterInqireMapper">
|
||||
|
||||
<!-- 시퀀스로 새로운 ID 생성 -->
|
||||
<select id="selectNextCarBassMatterInqireId" resultType="String">
|
||||
SELECT CONCAT('CBMI', LPAD(NEXTVAL(seq_car_bass_matter_inqire), 16, '0')) AS id
|
||||
</select>
|
||||
|
||||
<!-- 최초 요청 정보 INSERT -->
|
||||
<insert id="insertCarBassMatterInqire" parameterType="CarBassMatterInqireVO">
|
||||
INSERT INTO tb_car_bass_matter_inqire (
|
||||
CAR_BASS_MATTER_INQIRE,
|
||||
INFO_SYS_ID,
|
||||
INFO_SYS_IP,
|
||||
SIGUNGU_CODE,
|
||||
CNTC_INFO_CODE,
|
||||
CHARGER_ID,
|
||||
CHARGER_IP,
|
||||
CHARGER_NM,
|
||||
DMND_LEVY_STDDE,
|
||||
DMND_INQIRE_SE_CODE,
|
||||
DMND_VHRNO,
|
||||
DMND_VIN,
|
||||
REG_DT,
|
||||
RGTR
|
||||
) VALUES (
|
||||
#{carBassMatterInqire},
|
||||
#{infoSysId},
|
||||
#{infoSysIp},
|
||||
#{sigunguCode},
|
||||
#{cntcInfoCode},
|
||||
#{chargerId},
|
||||
#{chargerIp},
|
||||
#{chargerNm},
|
||||
#{dmndLevyStdde},
|
||||
#{dmndInqireSeCode},
|
||||
#{dmndVhrno},
|
||||
#{dmndVin},
|
||||
NOW(),
|
||||
#{rgtr}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 응답 결과 UPDATE -->
|
||||
<update id="updateCarBassMatterInqire" parameterType="CarBassMatterInqireVO">
|
||||
UPDATE tb_car_bass_matter_inqire
|
||||
<set>
|
||||
<if test="cntcResultCode != null">CNTC_RESULT_CODE = #{cntcResultCode},</if>
|
||||
<if test="cntcResultDtls != null">CNTC_RESULT_DTLS = #{cntcResultDtls},</if>
|
||||
<if test="prye != null">PRYE = #{prye},</if>
|
||||
<if test="registDe != null">REGIST_DE = #{registDe},</if>
|
||||
<if test="ersrRegistSeCode != null">ERSR_REGIST_SE_CODE = #{ersrRegistSeCode},</if>
|
||||
<if test="ersrRegistSeNm != null">ERSR_REGIST_SE_NM = #{ersrRegistSeNm},</if>
|
||||
<if test="ersrRegistDe != null">ERSR_REGIST_DE = #{ersrRegistDe},</if>
|
||||
<if test="registDetailCode != null">REGIST_DETAIL_CODE = #{registDetailCode},</if>
|
||||
<if test="dsplvl != null">DSPLVL = #{dsplvl},</if>
|
||||
<if test="useStrnghldLegaldongCode != null">USE_STRNGHLD_LEGALDONG_CODE = #{useStrnghldLegaldongCode},</if>
|
||||
<if test="useStrnghldAdstrdCode != null">USE_STRNGHLD_ADSTRD_CODE = #{useStrnghldAdstrdCode},</if>
|
||||
<if test="useStrnghldMntn != null">USE_STRNGHLD_MNTN = #{useStrnghldMntn},</if>
|
||||
<if test="useStrnghldLnbr != null">USE_STRNGHLD_LNBR = #{useStrnghldLnbr},</if>
|
||||
<if test="useStrnghldHo != null">USE_STRNGHLD_HO = #{useStrnghldHo},</if>
|
||||
<if test="useStrnghldAdresNm != null">USE_STRNGHLD_ADRES_NM = #{useStrnghldAdresNm},</if>
|
||||
<if test="useStrnghldRoadNmCode != null">USE_STRNGHLD_ROAD_NM_CODE = #{useStrnghldRoadNmCode},</if>
|
||||
<if test="usgsrhldUndgrndBuldSeCode != null">USGSRHLD_UNDGRND_BULD_SE_CODE = #{usgsrhldUndgrndBuldSeCode},</if>
|
||||
<if test="useStrnghldBuldMainNo != null">USE_STRNGHLD_BULD_MAIN_NO = #{useStrnghldBuldMainNo},</if>
|
||||
<if test="useStrnghldBuldSubNo != null">USE_STRNGHLD_BULD_SUB_NO = #{useStrnghldBuldSubNo},</if>
|
||||
<if test="usgsrhldAdresFull != null">USGSRHLD_ADRES_FULL = #{usgsrhldAdresFull},</if>
|
||||
<if test="mberSeCode != null">MBER_SE_CODE = #{mberSeCode},</if>
|
||||
<if test="mberSeNo != null">MBER_SE_NO = #{mberSeNo},</if>
|
||||
<if test="telno != null">TELNO = #{telno},</if>
|
||||
<if test="ownerLegaldongCode != null">OWNER_LEGALDONG_CODE = #{ownerLegaldongCode},</if>
|
||||
<if test="ownerAdstrdCode != null">OWNER_ADSTRD_CODE = #{ownerAdstrdCode},</if>
|
||||
<if test="ownerMntn != null">OWNER_MNTN = #{ownerMntn},</if>
|
||||
<if test="ownerLnbr != null">OWNER_LNBR = #{ownerLnbr},</if>
|
||||
<if test="ownerHo != null">OWNER_HO = #{ownerHo},</if>
|
||||
<if test="ownerAdresNm != null">OWNER_ADRES_NM = #{ownerAdresNm},</if>
|
||||
<if test="ownerRoadNmCode != null">OWNER_ROAD_NM_CODE = #{ownerRoadNmCode},</if>
|
||||
<if test="ownerUndgrndBuldSeCode != null">OWNER_UNDGRND_BULD_SE_CODE = #{ownerUndgrndBuldSeCode},</if>
|
||||
<if test="ownerBuldMainNo != null">OWNER_BULD_MAIN_NO = #{ownerBuldMainNo},</if>
|
||||
<if test="ownerBuldSubNo != null">OWNER_BULD_SUB_NO = #{ownerBuldSubNo},</if>
|
||||
<if test="ownrWholaddr != null">OWNR_WHOLADDR = #{ownrWholaddr},</if>
|
||||
<if test="aftrVhrno != null">AFTR_VHRNO = #{aftrVhrno},</if>
|
||||
<if test="useFuelCode != null">USE_FUEL_CODE = #{useFuelCode},</if>
|
||||
<if test="prposSeCode != null">PRPOS_SE_CODE = #{prposSeCode},</if>
|
||||
<if test="mtrsFomNm != null">MTRS_FOM_NM = #{mtrsFomNm},</if>
|
||||
<if test="frntVhrno != null">FRNT_VHRNO = #{frntVhrno},</if>
|
||||
<if test="vhclno != null">VHCLNO = #{vhclno},</if>
|
||||
<if test="vin != null">VIN = #{vin},</if>
|
||||
<if test="cnm != null">CNM = #{cnm},</if>
|
||||
<if test="vhcleTotWt != null">VHCLE_TOT_WT = #{vhcleTotWt},</if>
|
||||
<if test="caagEndde != null">CAAG_ENDDE = #{caagEndde},</if>
|
||||
<if test="changeDe != null">CHANGE_DE = #{changeDe},</if>
|
||||
<if test="vhctyAsortCode != null">VHCTY_ASORT_CODE = #{vhctyAsortCode},</if>
|
||||
<if test="vhctyTyCode != null">VHCTY_TY_CODE = #{vhctyTyCode},</if>
|
||||
<if test="vhctySeCode != null">VHCTY_SE_CODE = #{vhctySeCode},</if>
|
||||
<if test="mxmmLdg != null">MXMM_LDG = #{mxmmLdg},</if>
|
||||
<if test="vhctyAsortNm != null">VHCTY_ASORT_NM = #{vhctyAsortNm},</if>
|
||||
<if test="vhctyTyNm != null">VHCTY_TY_NM = #{vhctyTyNm},</if>
|
||||
<if test="vhctySeNm != null">VHCTY_SE_NM = #{vhctySeNm},</if>
|
||||
<if test="frstRegistDe != null">FRST_REGIST_DE = #{frstRegistDe},</if>
|
||||
<if test="fomNm != null">FOM_NM = #{fomNm},</if>
|
||||
<if test="acqsDe != null">ACQS_DE = #{acqsDe},</if>
|
||||
<if test="acqsEndDe != null">ACQS_END_DE = #{acqsEndDe},</if>
|
||||
<if test="yblMd != null">YBL_MD = #{yblMd},</if>
|
||||
<if test="transrRegistDe != null">TRANSR_REGIST_DE = #{transrRegistDe},</if>
|
||||
<if test="spcfRegistSttusCode != null">SPCF_REGIST_STTUS_CODE = #{spcfRegistSttusCode},</if>
|
||||
<if test="colorNm != null">COLOR_NM = #{colorNm},</if>
|
||||
<if test="mrtgCo != null">MRTG_CO = #{mrtgCo},</if>
|
||||
<if test="seizrCo != null">SEIZR_CO = #{seizrCo},</if>
|
||||
<if test="stmdCo != null">STMD_CO = #{stmdCo},</if>
|
||||
<if test="nmplCsdyAt != null">NMPL_CSDY_AT = #{nmplCsdyAt},</if>
|
||||
<if test="nmplCsdyRemnrDe != null">NMPL_CSDY_REMNR_DE = #{nmplCsdyRemnrDe},</if>
|
||||
<if test="originSeCode != null">ORIGIN_SE_CODE = #{originSeCode},</if>
|
||||
<if test="nmplStndrdCode != null">NMPL_STNDRD_CODE = #{nmplStndrdCode},</if>
|
||||
<if test="acqsAmount != null">ACQS_AMOUNT = #{acqsAmount},</if>
|
||||
<if test="insptValidPdBgnde != null">INSPT_VALID_PD_BGNDE = #{insptValidPdBgnde},</if>
|
||||
<if test="insptValidPdEndde != null">INSPT_VALID_PD_ENDDE = #{insptValidPdEndde},</if>
|
||||
<if test="useStrnghldGrcCode != null">USE_STRNGHLD_GRC_CODE = #{useStrnghldGrcCode},</if>
|
||||
<if test="tkcarPscapCo != null">TKCAR_PSCAP_CO = #{tkcarPscapCo},</if>
|
||||
<if test="spmnno != null">SPMNNO = #{spmnno},</if>
|
||||
<if test="trvlDstnc != null">TRVL_DSTNC = #{trvlDstnc},</if>
|
||||
<if test="frstRegistRqrcno != null">FRST_REGIST_RQRCNO = #{frstRegistRqrcno},</if>
|
||||
<if test="vlntErsrPrvntcNticeDe != null">VLNT_ERSR_PRVNTC_NTICE_DE = #{vlntErsrPrvntcNticeDe},</if>
|
||||
<if test="registInsttNm != null">REGIST_INSTT_NM = #{registInsttNm},</if>
|
||||
<if test="processImprtyResnCode != null">PROCESS_IMPRTY_RESN_CODE = #{processImprtyResnCode},</if>
|
||||
<if test="processImprtyResnDtls != null">PROCESS_IMPRTY_RESN_DTLS = #{processImprtyResnDtls},</if>
|
||||
<if test="cbdLt != null">CBD_LT = #{cbdLt},</if>
|
||||
<if test="cbdBt != null">CBD_BT = #{cbdBt},</if>
|
||||
<if test="cbdHg != null">CBD_HG = #{cbdHg},</if>
|
||||
<if test="frstMxmmLdg != null">FRST_MXMM_LDG = #{frstMxmmLdg},</if>
|
||||
<if test="fuelCnsmpRt != null">FUEL_CNSMP_RT = #{fuelCnsmpRt},</if>
|
||||
<if test="elctyCmpndFuelCnsmpRt != null">ELCTY_CMPND_FUEL_CNSMP_RT = #{elctyCmpndFuelCnsmpRt},</if>
|
||||
<if test="mberNm != null">MBER_NM = #{mberNm},</if>
|
||||
</set>
|
||||
WHERE CAR_BASS_MATTER_INQIRE = #{carBassMatterInqire}
|
||||
</update>
|
||||
|
||||
<!-- ID로 조회 -->
|
||||
<select id="selectCarBassMatterInqireById" parameterType="String" resultType="CarBassMatterInqireVO">
|
||||
SELECT *
|
||||
FROM tb_car_bass_matter_inqire
|
||||
WHERE CAR_BASS_MATTER_INQIRE = #{carBassMatterInqire}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<!--
|
||||
샘플 MyBatis Mapper XML 파일
|
||||
|
||||
실제 사용 시에는 테이블명과 컬럼명을 프로젝트에 맞게 수정하세요.
|
||||
이 파일은 설정 테스트 및 예제 용도입니다.
|
||||
-->
|
||||
<mapper namespace="com.vmis.interfaceapp.mapper.SampleMapper">
|
||||
|
||||
<!-- 샘플 쿼리: 데이터베이스 연결 테스트 -->
|
||||
<select id="selectCurrentTime" resultType="String">
|
||||
SELECT NOW() AS current_time
|
||||
</select>
|
||||
|
||||
<!--
|
||||
추가 쿼리 예제:
|
||||
|
||||
<select id="selectById" parameterType="Long" resultType="com.vmis.interfaceapp.model.SampleEntity">
|
||||
SELECT id, name, created_at
|
||||
FROM sample_table
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="com.vmis.interfaceapp.model.SampleEntity">
|
||||
INSERT INTO sample_table (name, created_at)
|
||||
VALUES (#{name}, NOW())
|
||||
</insert>
|
||||
|
||||
<update id="update" parameterType="com.vmis.interfaceapp.model.SampleEntity">
|
||||
UPDATE sample_table
|
||||
SET name = #{name}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="delete" parameterType="Long">
|
||||
DELETE FROM sample_table
|
||||
WHERE id = #{id}
|
||||
</delete>
|
||||
-->
|
||||
|
||||
</mapper>
|
||||
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
|
||||
<configuration>
|
||||
<!-- 설정 -->
|
||||
<settings>
|
||||
<!-- 카멜케이스 자동 매핑 (DB의 snake_case를 Java의 camelCase로 자동 변환) -->
|
||||
<setting name="mapUnderscoreToCamelCase" value="true"/>
|
||||
|
||||
<!-- JDBC 타입이 null일 때의 처리 (NULL 값 허용) -->
|
||||
<setting name="jdbcTypeForNull" value="NULL"/>
|
||||
|
||||
<!-- 쿼리 실행 시 로그 출력 레벨 설정 -->
|
||||
<setting name="logImpl" value="SLF4J"/>
|
||||
|
||||
<!-- 결과가 null일 때도 객체 생성 -->
|
||||
<setting name="callSettersOnNulls" value="true"/>
|
||||
|
||||
<!-- 지연 로딩 설정 (필요시 변경) -->
|
||||
<setting name="lazyLoadingEnabled" value="false"/>
|
||||
<setting name="aggressiveLazyLoading" value="false"/>
|
||||
|
||||
<!-- 캐시 사용 설정 -->
|
||||
<setting name="cacheEnabled" value="false"/>
|
||||
|
||||
<!-- 자동 생성 키 사용 -->
|
||||
<setting name="useGeneratedKeys" value="true"/>
|
||||
|
||||
<!-- 디폴트 Executor 타입 (SIMPLE, REUSE, BATCH) -->
|
||||
<setting name="defaultExecutorType" value="REUSE"/>
|
||||
|
||||
<!-- 타임아웃 설정 (초 단위, null이면 무제한) -->
|
||||
<setting name="defaultStatementTimeout" value="25"/>
|
||||
</settings>
|
||||
|
||||
<!-- 타입 별칭 설정 (선택사항) -->
|
||||
<!-- type-aliases-package로 자동 스캔되므로 여기서는 생략 가능 -->
|
||||
<typeAliases>
|
||||
<!-- 필요시 추가 -->
|
||||
</typeAliases>
|
||||
|
||||
<!-- 타입 핸들러 설정 (선택사항) -->
|
||||
<typeHandlers>
|
||||
<!-- 필요시 추가 -->
|
||||
</typeHandlers>
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue