스마트웹앱콘텐츠전문가 401

[MariaDB]Interger to Boolean

MariaDB에서 테이블 컬럼을 boolean 형식으로 사용하고 싶은 경우, 타입이 boolean이 형식이 아닌 tinyint 형식으로 저장이 됩니다. 문제는 여기서, 프로그래밍으로 이 데이터를 꺼내 Boolean 데이터로 가공하려고 햘 때 발생합니다. 다음 내용을 한 번 보시죠. // Integer to Boolean Boolean test = Boolean.valueOf(String.valueOf(testService.get("dataBoolean"))); // testService.get("dataBoolean") false, 0 -> false ) 참, 아이러니하게도 해당 컬럼의 타입(길이)를 변경해 주면 결과는 달라집니다. 2. "dataBoolean" 컬럼의 타입(길이)이 tinyint(1)이..

Ambiguous mapping 에러 처리

'Ambiguous mapping. Cannot map 'xxx' method' 과 같은 오류가 발생한 경험이 있을 겁니다. 이는 'xxx'라고 명명된 컨트롤러에서 리퀘스트매핑이 잘못 되었을 수 있습니다. 예를 들어, @RequestMapping(value="/test") ~~~~ @ReuqestMapping(value="/test") ~~~~~ 컨트롤러에서 requestMapping이 중복되어 있을 수 있는 지 다시 한번 확인해보시길 바랍니다.

java.lang.NumberFormatException: For input string: "null"

해당하는 오류는 형변환 시 발생하는 오류 입니다. 예를 들어 Integer.parseInt(String.valueOf(Object 형인 데이터)); 1. Object 형인 데이터를 String 형변환 2. String으로 형변환된 데이터를 Interger 형변환. ※ Object형인 데이터가 null인 경우, 1번의 형변환은 오류가 발생하지 않습니다만, 2번의 경우 'java.lang.NumberFormatException:' 가 발생합니다.

[Mybatis] 조회값이 아예 없는 경우

조회한 데이터가 아예 없는 경우, 즉, 조회 결과 행(row)이 아예 없는 경우를 한번 쯤을 경험해 봤을 겁니다. 이 경우, 자바에서 호출하게 되면 NullException 오류가 나옵니다. 이 Null 처리에 대한 방법은 여러가지가 있겠지만, 마이바티스 설정을 통해서 어느 정도 해결할 수 있습니다. 바로 이것이죠. 바이바티스 설정 파일에 추가하면 됩니다.(흔히 mybatis-config.xml, configuration.xml)