Mybatis if 문에서 Integer 공백 체크
1. 이슈 사항 MyBatis의 다이나믹쿼리 if 문에서 공백 체크를 할 때 숫자 ‘0’이 체크가 안 되는 경우가 있다. SELECT * FROM dual <where> <if test="num != null and num != ''"> AND NUM = #{num} </if> </w...
1. 이슈 사항 MyBatis의 다이나믹쿼리 if 문에서 공백 체크를 할 때 숫자 ‘0’이 체크가 안 되는 경우가 있다. SELECT * FROM dual <where> <if test="num != null and num != ''"> AND NUM = #{num} </if> </w...
1. Filter, Interceptor, AOP의 흐름 Filter와 Interceptor는 Servlet 단위에서 실행된다. 반면 AOP는 메소드 앞에서 Proxy 패턴으로 실행된다. 필터를 웹 컨테이너 내에 생성한 후 초기화 시 init()이 호출된다. 그리고 doFilter가 호출된다. 컨...
1. Interceptor란 인터셉터(Interceptor)는 스프링의 Spring Context(ApplicationContext) 기능으로 임의의 URI를 호출시 DispatcherServlet에서 해당 Controller가 처리되기 전과 후에 발생하는 이벤트이다. 2. 구현 HandlerInterceptorAdapterr를 상속받아 구현하며...
1. Jasypt Jasypt(Java Simplified Encryption)는 개발자가 암호화 작동 방식에 대한 깊은 지식 없이도 최소한의 노력으로 자신의 프로젝트에 기본 암호화 기능을 추가할 수 있도록 하는 Java 라이브러리이다. 2. 암호화 설정 1) Dependency 추가 설정파일 암호화 <dependency> ...
1. selectKey 키값을 가져와서 증가시켜서 입력하거나 혹은 입력 후에 증가된 키값을 가져올 필요가 있다. MyBatis에서 제공하는 selectKey를 이용하면 별도의 쿼리 로직을 등록할 필요 없이 해당 메소드에서 일괄 처리할 수 있다. 1) 기본 문법 <selectKey keyProperty="memberId" resultType="...
1. tmp란 스토리지 엔진으로부터 받아온 레코드를 order by, group by 혹은 alter table 명령어 수행을 위해 내부적인 임시 테이블을 사용한다. 일반적으로 임시 테이블은 처음엔 메모리에 생성됐다가 설정값 (max_heap_table_size 혹은 tmp_table_size 값)을 초과하는 경우 디스크로 옮겨진다. 이와 같은 내...
1. 개념 원본 저장소의 변경 내용을 포크(fork)한 저장소에 반영 포크 저장소: https://github.com/dejavuhyo/jekyll-theme-chirpy.git 원본 저장소: https://github.com/cotes2020/jekyll-theme-chirpy.git 2. 동기화 1) 원...
1. Thread Join Thread가 종료될 때까지 기다릴 때 Thread.join()을 사용한다. 예를 들어, Thread A는 Thread B에게 어떤 작업을 실행시키고 완료될 때까지 기다려야 할 때가 있다. 이럴 때 join()을 호출하면 A는 B가 종료될 때까지 기다린다. 2. 예제 Main public class Main {...
1. 스레드(Thread)란 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다. 2. 프로세스와 스레드 비교...
1. 프로세스(Process)란 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 멀티태스킹이라고 한다. 2. ...