본문 바로가기

MyBatis resultType으로 HashMap 지정시 Null 컬럼 누락 문제 resultType으로 hashmap 지정시 value값이 null일때 컬럼이 누락되는 문제가 있다.누락되도 상관은 없지만 꼭 필요한 경우가 있어서 그에 관한 해결책을 정리해 보았다. 1. MyBatis 3.2.2 이후 버전 사용 3.2.2 버전부터 해당 문제 해결을 위해 세팅값을 지원해 준다. MyBatis 설정파일에 아래 내용을 추가해 준다. 2. null이 예상되는 컬럼에 ifnull, nvl과 같은 null 처리를 해준다. - 예상되는 컬럼이 많을경우 추천안함. 3. myBatis의 원 소스를 받아 TypeAliasRegistry 부분의 hashmap 부분을 수정한다. - 생각보다 귀찮음. 3.2.2 이후 버전으로 업데이트 추천 !! 더보기
[Oracle] Rownum을 이용한 페이징 처리 오라클에서는 Mysql에서 제공하는 Limit 과 같은 기능이 없다. 그렇기때문에 오라클을 이용하여 게시판 페이징 처리를 한다던지, 특정 리스트에서 원하는 순서의 데이터를 출력할때는오라클의 Rownum을 이용해야 한다. 오라클의 Rownum은 쿼리가 실행될때 결과값에 가상의 번호를 부여해준다. 이 번호를 가지고 원하는 데이터를 출력할 수 있다. 하지만 단순하게 아래처럼 쿼리를 날리면 어떨까? SELECT rownum, title, contents FROM TB_test WHERE rnum > 20 and rnum 20 AND RNUM 더보기
[Oracle] 테이블 스페이스 및 사용자 계정 생성 방법 오라클 DB를 사용하려면 다음과 같은 절차가 필요하다. 1. DB 생성(SID 생성) 2. TableSpace 생성 3. 사용자 계정 생성 4. 사용자 계정 - Tablespace 연결 오라클을 처음 설치했다면 기본 DB가 생성이 되어 있으니 그대로 사용하거나, 아니면 신규 DB를 생성하면 된다. TableSpace는 테이블이 저장되는 공간이라고 생각하면 이해하기 쉽다. Tablespace는 이름이 동일하지만 않으면 여러개 생성이 가능하다. 1. TableSpace 생성 C:\>sqlplus /nolog sql>conn sys/manger@ora as sysdba sql>CREATE TABLESPACE TEST DATAFILE ’C:\ORACLE\ORADATA\app_data.dbf’ SIZE 100M .. 더보기