개요 mysql에서는 특정 컬럼의 null값 방지를 위해 IFNULL이라는 함수를 종종 사용하는데, 간혹 NULLIF 라는 함수와 이름이 비슷해서 잘못 사용하는 경우가 있다. 두개의 함수는 서로 명칭은 비슷하지만 사용 목적이 다르다. 차이점 IFNULL은 특정 컬럼이 NULL인 경우를 특정 값으로 대신 리턴하기 위한 함수라면, NULLIF는 두개의 인자값이 같은지 확인해서 같으면 NULL을 리턴하는 함수이다. IFNULL(A,B) : A가 null값이면, B를 반환 NULLIF(A,B) : A == B 인 경우 null 반환하고 A!=B 이면 A 반환 예시 NULLIF 두개의 값이 같으면 NULL을, 아니면 첫번째 값을 반환 IFNULL 첫번째 값이 NULL이면 두번째값을 반환, NULL이 아니면 첫번째..
Study
Mybatis의 Collection 기능 1:1 관계를 맺고 있는 테이블에서는 JOIN 하여 두 개의 테이블 레코드를 한번에 조회 할수 있다. 하지만 1:N 관계의 테이블에서 JOIN하여 레코드를 조회하려고 할 때 1개의 레코드를 가지는 테이블의 정보는 모두 조회되지만, N개의 레코드를 가지는 테이블의 정보는 첫번째 값만 조회되거나 오류가 발생한다. N개의 레코드 모두 조회하고 싶은 경우에는 Mybatis에서 제공하는 resultMap에 collection기능을 사용하면 된다. 예시 사용자(1)가 구매한 상품 내역(N)을 조회하는 예시로 collection 사용방법을 알아보자. 기존 방법 테스트용 테이블로 user 테이블과 buy_item 테이블이 있다고 했을때, collection을 사용하지 않는다면 ..
Eclipse에 STS(Spring Tools) 설치하기 Eclipse -> Help -> Eclipse Marketplace -> Spring STS 검색 -> STS 3 설치 설치를 완료하고 재시작한다. Spring Boot 프로젝트 생성 재부팅 후 Spring Boot 프로젝트를 생성한다. File-> New -> Other -> Spring Boot -> Spring Starter Project
개요 이번 글에서는 원격 저장소에 올라가있는 Git 프로젝트를 로컬 PC에 Eclipse로 가져오는 방법에 대해 공유합니다. OS : Window 10 JDK, 환경설정, Eclipse, Git 설정 필요 Git 프로젝트 URL 확인 우선 본인이 로컬에 연동하고자 하는 프로젝트의 Clone HTTP URL을 확인한다. 로컬로 Git 프로젝트 Clone 로컬로 Git 프로젝트와 연동하기 위해서는 로컬의 레포지터리 복사본(Clone)을 만들어야 하는데 Clone 하는 방법은 아래 두가지 방법이 있다. 1. Eclipse에서 Git Perspective를 통한 Clone 2. 터미널(또는 Git Bash)에서 Git 명령어를 통한 직접 Clone 난 Git에 대한 이해도를 높이기 위해서 2번 방법을 진행했다...
개요 IntelliJ를 사용하면서 자주 사용하는 유용한 단축키에 대해 공유하고자 합니다. 해당 단축키를 사용하며 개발 했을 때 생산성이 크게 상승한 것을 느꼈기 때문에 이 글을 보시는 분들도 한번 사용해보시길 추천드립니다. 오류난 곳으로 이동 : F2 오류 수정 제안(자동 완성) : Option(⌥)+Enter(↩) 구문 자동 완성 (ex) 세미콜론, for문 등) : Command(⌘) + Shift(⇧) + Enter(↩) 예시 1 : For문 구문 자동완성 예시 2 : 세미콜론 자동 완성 심볼 선언한 곳으로 이동 : Command(⌘) + B 최근 파일 보기 : Command(⌘) + E 어떤 항목이 사용된 모든 위치 검색 : Option(⌥) + F7 Debug & Run : Shift(⇧) + ..
개요 Git으로 형상관리할때 Git 명령어(commit, push, merge ...)를 자주 사용하게 된다. IDE에서 제공하는 기능을 사용할 수도 있고, 콘솔창에 직접 명령어를 쳐서 Git 형상관리를 할수도 있다. IDE에서도 Git 기능을 제공하지만, 난 콘솔창에 직접 명령어를 치는게 익숙해서 Bash 콘솔창을 통해 진행해왔다. 보통은 Git Bash로 매번 콘솔창을 켜서 명령어를 치기 귀찮기도 하고 효율성이 좋지 않아서, IDE의 플러그인으로를 수행하곤 한다. 나는 콘솔창에 명령어로 치는것을 좋아해서 Bash 콘솔창으로 Commit, Push / Pull 등을 진행해 왔다. 그런데 매번 Commit할 때마다 Git Bash를 열어서 명령어 치는 과정이 귀찮던 와중에 사수분께서 아래와 같이 Inte..