HANDA_list

    oracle call명령어는 mybatis에서 어떻게 구현해야할까?

    oracle call명령어는 mybatis에서 어떻게 구현해야할까?Oracle의 CALL 명령어를 MyBatis에서 구현하는 방법ResultMap을 정의합니다. 이는 반환되는 결과를 Java 객체에 매핑하는 데 사용됩니다. Select 문을 작성합니다. 여기서 statementType은 CALLABLE로 설정하고, resultMap은 위에서 정의한 UserResult를 사용합니다. CALL 명령어를 사용하여 저장 프로시저를 호출합니다. {CALL GetUsers(#{resultSet,mode=OUT,jdbcType=CURSOR,resultMap=UserResult})}마지막으로, MyBatis 매퍼 인터페이스를 작성합니다. 이 인터페이스는 저장 프로시저를 호출하는 메서드를 정의합..

    collection foreach vs stream foreach vs for문

    https://velog.io/@mooh2jj/Java-stream-Collector-%EC%99%9C-%EC%93%B0%EB%8A%94-%EA%B1%B0%EC%95%BC [Java] Stream, Collector 왜 쓰는 거야?스트림스트림은 람다와 마찬가지로 자바8에 추가된 기능이다. 스트림이란, 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소로 정의한다. 스트림과 컬렉션스트림도 컬렉션과 마찬velog.io스트림의 정의스트림은 람다와 마찬가지로 자바8에 추가된 것으로, 람다를 활용하여 데이터 처리 연산을 지원하도록 컬레션, 배열, I/O자원등에 대해 저장되어 있는 요소들을 추출하여 반복적인 처리를 가능케 하는 기능이다.Iterator에서 Stream로 간 이유iterator, stream ..

    @Valid가 동작하지 않은 오류

    @PostMapping("/save-coupon") @Operation(summary = "쿠폰 저장", description = "쿠폰목록에서 선택한 쿠폰리스트를 쿠폰함에 저장한다.") public CommonResult saveCpnList(@Valid @RequestBody List inDto) { mVouchService.saveCpnList(inDto); return CommonResult.ok(); } } 🤔 오류현상 파라미터를 List로 받았더니 Valid 어노테이션이 동작하지 않는다. ✔ 해결방법 @PostMapping("/save-coupon") @Operation(summary = "쿠폰 저장", description = "쿠폰목록에서 선택한 쿠폰리스트를 쿠폰함에 저장한다.") publ..

    [Spring] @EventListener 와 ApplicationReadyEvent.class 를 사용한 spring 초기화

    1. 모든 작업을 마치고 나서 "초기화 코드"를 넣어야 하는 경우 스프링부트 애플리케이션이 시작할 때 백그라운드에서 굉장히 많은 스프링 빈(Bean)들이 만들어지고 그 외에 스프링 컨테이너가 초기화하는 과정이 진행된다. 2. 초기화와 동시에 스프링부트 시작 시 생성되어야할 기본 데이터를 생성해야하는 경우. init과 같이 구동과 동시에 필요한 데이터들을 생성할땐 init처럼 사용하면 된다. @Configuration public class ExConfig(){ @EventListener(ApplicationReadyEvent.class) public void init(){ System.out.println("Hello EventListener!! ApplicationReadyEvent"); } } htt..

    [디자인패턴] 옵저버 패턴이란?

    업무에서 POS 관련 C#소스를 봐야할 일이 생겨서 관련 문서를 찾아봤다. Spring으로 보통 구현하는 MVC패턴과는 다르게 MVVM 패턴으로 구현되어있어 Observer 디자인패턴을 사용한다. *Observer는 관찰자 역할을 하는데 viewModel 이라는 observer인터페이스로 데이터가 변동이 생기면 바로 view에 전달해준다. *어떻게 동작하는지는 아래 참고 https://pjh3749.tistory.com/266 [디자인패턴] 옵저버 패턴 (Observer Pattern) 아주 간단하게 정리해보기 옵저버 패턴이란? 옵저버란 스타크래프트 프로토스의 유닛으로 적들을 관찰하기 위해 탄생한 유닛이다. 테란전에서 필수 유닛이며 옵저버 패턴(observer pattern)은 객체의 상태 변화를 관찰하..

    어노테이션 커스텀

    https://mangkyu.tistory.com/206 [Spring] 커스텀 애노테이션(Custom Annotation) 만들어 직접 Validation 유효성 검사하기 - (2/2) 개발을 하다 보면 JSR에서 제공해주는 어노테이션으로는 처리가 부족하여 직접 우리가 원하는대로 예외를 처리해주어야 하는 경우가 있다. 이번에는 커스텀 애노테이션(Custom Annotation)을 만들어 mangkyu.tistory.com

    @valid 와 @validated 의 차이 , 그리고 JSR-303 VS 스프링 어노테이션

    @Valid는 JSR-303 표준 스펙(자바 진영 스펙)으로써 빈 검증기(Bean Validator)를 이용해 객체의 제약 조건을 검증하도록 지시하는 어노테이션이다. JSR 표준의 빈 검증 기술의 특징은 객체의 필드에 달린 어노테이션으로 편리하게 검증을 한다는 것이다. https://mangkyu.tistory.com/174 [Spring] @Valid와 @Validated를 이용한 유효성 검증의 동작 원리 및 사용법 예시 - (1/2) Spring으로 개발을 하다 보면 DTO 또는 객체를 검증해야 하는 경우가 있습니다. 이를 별도의 검증 클래스로 만들어 사용할 수 있지만 간단한 검증의 경우에는 JSR 표준을 이용해 간결하게 처리할 수 mangkyu.tistory.com

    [TIL] Bulk insert , 커버링인덱스

    1. 벌크 insert 대용량 데이터 백업의 경우 사용. https://techwell.wooritech.com/blog/2021/05/23/Sql-Server-%EB%8C%80%EB%9F%89%EC%88%98%EC%A0%95/#truncate-%ED%99%9C%EC%9A%A9 Sql Server Bulk Work | TechWell Sql Server Bulk Working techwell.wooritech.com https://itsuit.tistory.com/116 [Oracle] 대량 데이터 인서트 하기 (Bulk Data Insert) [Oracle] 대량 데이터 인서트 하기 (Bulk Data Insert) 속도 : 4 > 3 > 2 > 1 1. INSERT INTO로 건별 INSERT 건별 ..