목록Spring (7)
사붐이개발일기
서론 에러메시지 일관성 유지 나중에 추가 작성하겠음.. 지금은 개발기한 및 감리로 인하여.. 코드 구현 에러 핸들러@Slf4j@RestControllerAdvicepublic class GlobalExceptionHandler { /** * Handle all uncaught exceptions. */ @ExceptionHandler(Exception.class) public ResponseEntity handleGenericException(Exception ex) { log.error("Unhandled exception occurred: {}", ex.getMessage(), ex); ErrorResponse response = new Er..
내가 사용한 방법 환경 java 8 mybatis postgreSQL /* SmartroPay.xml updateJoinAdjmCompleted */ UPDATE tb_mbr_pay SET mpay_sadj_id = temp.padj_sadj_id , mpay_sadj_stat = #{mpayAdjmStat} , mpay_adjm_dttm = temp.adj_date , mpay_updt_dttm = now() FROM ( SELECT a.*, c.adj_date FROM tmp_mpay_adjm a LEFT JOIN tb_shp_adjm b ON a.padj_sadj_id = b.sadj_id LEFT JOIN tb_adjm c ON b.sadj_adjm_id = c.adj_id where a.tid ..
Insert into + Join 쿼리 우선 join은 select용이다. insert문에 join을 결합하여 사용한다는 말은, join하여 select한 특수한 값을 골라 insert 한다는 말과 같다. 다음과 같은 상황일때 사용할 수 있다. Q. TB1 에는 있고, TB2에는 없는 레코드만 TB2에 추가하기 sql INSERT INTO TB2 (코드, 년도) ( SELECT A.코드, A.년도 -- 추가할 필드 FROM TB1 A LEFT JOIN TB2 B ON A.코드 = B.코드 WHERE B.코드 IS NULL -- join한 TB2테이블의 필드가 NULL이라는 말은 TB2에는 없는 값을 의미한다. ) 내가 사용한 방법 환경 java 8 mybatis postgreSQL /* SmartroPa..
내용1. SqlSession 의 ExecutorType.BATCH ExecutorType.BATCH 를 사용하면 바로 DB 로 쿼리를 날리지 않고 쿼리를 미리 쌓아뒀다가 commit 시 connection에 모든 쿼리를 넘겨준다. 2. flushStatements MyBatis에서는 flushStatements라는 설정 옵션을 제공합니다. 이 옵션을 활용하면 일정량의 SQL 문을 배치 처리하고 커밋하기 전에 임시로 버퍼에 저장하는 방식으로 대용량 데이터 처리 작업의 성능을 개선할 수 있습니다. 대용량 데이터 작업을 수행하는 동안 많은 SQL문을 생성하고 실행할 수 있습니다. 이때 flushStatement를 사용하면, 일정한 개수나 시간 간격으로 SQL 문을 배치로 처리하고 커밋하므로 다음과 같은 장점이..
에러사항. Spring에서 객체 필드데이터가 List일때 Null인지 아닌지 체크가 필요할때 Optional 사용이 불가하다. 이럴경우, Optioanl이 아닌 org.springframework.uril 라이브러리에서 제공하는 Objectutils.isEmpty()를 사용하면 null과 빈 배열을 동시에 체크할수 있다. Reference1. Enum 사용법 - 응용하기 - 망나니개발자 https://mangkyu.tistory.com/74 2.Java Enum 활용기 - 우아한 https://techblog.woowahan.com/2527/ 3.[Java] 스트림 활용 - anyMatch, noneMatch, findAny, reduce https://m.blog.naver.com/adamdoha/22..
1. 의존성 추가 build.gradle dependencies { // 객체를 변환해주는 라이브러리 (DTO -> Entity) implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.2.0' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' } 2. DTO 생성 OrderDto @Data public class OrderDto implements Serializable { private String productId; private Integer qty; private Integer unitPrice; private Integer totalPrice..
Entity, DTO, DAO, VO Servlet, Spring 등을 사용하면 로직 구현이나 데이터 교환을 위해 Entity, DTO, DAO, VO를 사용하게 된다. 각각을 한마디로 요약하면 아래와 같다. Entity : 테이블 DTO : Data Transfer Object → 데이터 교환용 DAO : Data Access Object → 데이터 접근용 VO : Value Object → 데이터 교환용 (Read-only 속성의 DTO) Entity Database의 테이블에 해당하며, 주로 하나의 테이블에 하나의 entity를 정의한다. 테이블과 최대한 동일하게 클래스를 생성하고, 주로 테이블에 가지는 column들을 필드로 가진다. 주의할 점 다른 클래스를 상속받거나 구현체여서는 안되며, 데이터..