전체 글

이슈사항 Mybatis의 xml 매퍼에서 choose문을 사용해 데이터를 가져오는 중 아래와 같은 에러가 발생했다. Error querying database. Cause: java.lang.NumberFormatException: For input string: \"M\"\r\n 해결 오류가 발생한 쿼리 when 절에 " 비교대상 =='값' " 이런식으로 큰 따옴표 안에 작은따옴표로 값을 비교했다. 그런데 이 방식으로 하면 비교가 안되기 때문에, 아래 같은 방식을 사용해야한다. 1. ' 비교대상 == "값" ' 이런식으로 작은 따옴표로 감싸고 큰따옴표로 값을 감싸서 비교 2. ' 비교대상.equals("값") ' 이런 기능을 통해 비교
이슈사항 Java에서 Arrays.asList() 로 생성한 List에 값을 추가 하려고하자 UnsupportedOperationException 에러가 발생했다. 해결 Java에서는 new 생성자로 생성하지 않은 List에는 값을 수정/삭제할 수 없다. 그렇기 때문에 위와 같은 상황에서는 new ArrayList() 안에 감싸서 생성한다음 사용하면 된다.
· Study/Etc
개요 특정 포트를 사용하고 있는 프로세스를 강제 종료해야할 경우가 있다. 그런 경우에는 프로세스 ID를 찾아내 taskkill 명령어로 강제종료하면 된다. 강제 종료 방법 1. 명령프롬프트를 실행한다. 2. 아래 명령어를 입력해서 프로세스의 PID를 찾아낸다. netstat -ano | findstr :포트번호 3. 아래 명령어를 입력해서 프로세스를 강제종료한다. taskkill /pid pid번호 /f
이슈 내용 쿼리 내에 Mybatis 동적 쿼리 if문을 사용해서 파라미터의 빈값 여부를 체크하는 부분에서, int형 파라미터에 대해 0을 null로 인식하는 문제가 발생했다. 원인 및 해결 방법 마이바티스 내에서 값이 0인 int형 파라미터은 공백("") 과 같다고 판단한다. 그래서 마이바티스 IF문에서 공백 체크 할 때 int형의 파라미터를 체크해야 하는 경우, 아래의 코드와 같이 equals문을 사용하도록 수정해야 한다.
개요 mysql에서는 특정 컬럼을 기준으로 그룹화 할 수 있는 group by라는 기능이 존재한다. 아래 예시의 테이블에서 dept_id 기준으로 사원 급여 통계를 내고 싶은 경우 group by절에 dept_id를 전달하고 SELECT 절에 집계함수(AVG) 를 사용하면 된다. id name dept_id salary 1 Lee 1 1000 2 Park 1 2000 3 Son 2 3000 4 John 3 4000 5 Han 3 6000 6 Ahn 1 6000 dept_id salary 1 3000.0 2 3000.0 3 5000.0 문법 SELECT dept_id, AVG(salary) FROM EMP WHERE 1=1 GROUP BY dept_id 보통 group by는 위의 예시와 같이 특정 컬럼을..
개요 회사 업무 중 어제 날짜의 시작일자(YYYY-MM-DD 00:00:00)와 종료일자(YYYY-MM-DD 23:59:59)를 SELECT절에서 한번에 구하는 쿼리를 구현하게 됐다. 구현하다보니 생각보다 쿼리가 복잡하여 기록 및 공유 하고자 한다. 본 글에서는 어제 날짜의 시작시간과 종료시간을 나눠서 설명한다. 어제 날짜의 시작시간 구하기 (YYYY-MM-DD 00:00:00) 1번. date_sub(now(), interval 1 day)) : 현재시간에서 하루를 뺀 날짜 값을 구한다. date_sub(now(), interval 1 day)) 2번. YYYY-MM-DD HH:MM:SS 형태로 변경한다 cast(date(date_sub(now(), interval 1 day)) as datetime)..
jonghne
Jong's blog