MyBatis로 개발하던 중 얻었던 '부적합한 열 인덱스'(Invalid column index) 오류에 대해 정리해본다. TL;DR 변수에 대한 Getter, Setter가 올바르게 생성되었는지 확인 문자열이라고 따옴표를 사용했던 것은 아닌지 확인 주석에 변수를 포함한 것은 아닌지 확인 Getter, Setter Java Bean으로부터 데이터를 가져오거나 반환할 때에는 Getter와 Setter를 이용합니다. MyBatis가 호출할 Getter 메소드와 Setter 메소드가 존재하는지 확인합니다. 따옴표 보통 SQL에서 문자열을 다룰 때에는 작은 따옴표를 사용합니다. 혹시라도 나도 모르게 아래와 같이 SQL을 작성한 것은 아닌지 확인합니다. SELECT '${userId}' AS USER_ID FRO..
특정 범위의 값을 조회할 때 BETWEEN ... AND 구문을 사용하면 조금 더 읽기 쉬운 구문을 작성할 수 있습니다. 기본 사용법 특정 범위의 임금을 받는 직원을 찾기 위해서 아래와 같이 작성할 수 있습니다. SELECT * FROM EMP WHERE SAL BETWEEN 1250 AND 2450 위 SQL문은 아래와 완전하게 동일한 작동을 합니다. SELECT * FROM EMP WHERE SAL >= 1250 AND SAL
MySQL은 다양한 App과 서비스에서 사용하는 RDBMS입니다. Ubuntu에 설치하는 과정을 기록도 겸할겸 간략하게 명령어 위주로 정리해봅니다. 정말 많이 급하게 설치를 진행해야 한다면 아래 검은 바탕의 명령어와 굵은 글꼴만 읽으면 됩니다. MySQL 설치 패키지 관리자를 최신화 한 후 MySQL을 설치합니다. sudo apt-get update sudo apt-get install mysql-server 보안 관련 설정 다음 명령어를 통해 보안 관련 설정을 진행합니다. mysql_secure_installation 외부 접속 허용 만약 현재 기기의 외부에서 접속이 필요하다면 외부 접속 관련 설정을 진행해야 합니다. 1. 외부 접속 계정 생성 ##_사용자ID_##를 외부에서 접속할 사용자 ID로, #..
중복 없는 열(column)들을 Join한다고 가정했을 때, 가장 일반적인 경우입니다:A와 B를 Innter-Join하면 A와 B의 교집합을 얻을 수 있습니다.A와 B를 Outer-Join하면 A와 B의 합집합을 얻을 수 있습니다.Examples 각각 단 하나의 열만 있는 두 개의 테이블이 있고, 데이터가 다음과 같다고 가정합니다:A B - - 1 3 2 4 3 5 4 6(1, 2)는 A에만 있고, (3, 4)는 같이 있으며, (5, 6)은 B만 갖고 있습니다. Inner join 다음 쿼리로 Inner-Join해서 두 테이블의 교집합을 얻습니다.select * from a INNER JOIN b on a.a = b.b; select a.*, b.* from a, b where a.a = b.b; a |..