Framework (3) 썸네일형 리스트형 [Spring] 파라미터 타입 선언 오류로 인한 Mybatis 쿼리 오류 Controller에서 아래와 같이 delete쿼리를 실행하는 메서드를 작성했습니다. @DeleteMapping("/mac") ResponseEntity deleteMac(@RequestBody String mac) { if (StringUtils.isBlank(mac)) return ResponseEntity.badRequest().body(Message.write("MAC_FORMAT_ERR")); return networkConnectionService.deleteMac(mac); } 그런데 계속해서 쿼리문이 제대로 실행되지 않아서 쿼리문을 로그로 확인해보니 이렇게 들어가고 있었습니다. DELETE FROM ␦␦␦␦␦␦␦␦␦␦␦␦␦␦␦␦ WHERE mac = '{ "mac" : "␦␦␦␦␦␦␦␦␦␦.. [Spring] byte 타입으로 변수 선언 시 java.lang.NullPointerException: null 에러발생 DTO에 private byte parity로 변수 "parity"를 byte타입으로 선언하였습니다. java.lang.NullPointerException: null 에러가 발생했습니다. 이 에러는 parity 변수에 초기값을 주지 않았기 때문에, 해당 변수는 기본적으로 null 상태인데 byte 타입의 변수는 null값을 가질 수 없기 때문에, 이 변수가 null 상태에서 사용될 경우 java.lang.NullPointerException: null 오류가 발생했습니다. 따라서, 해당 변수에 초기값을 할당해주어야 합니다. ex) private byte parity = 0 -> null이 아닌 0으로 초기화 [Spring] MyBatis resultType="Boolean"사용하기 resultType을 boolean으로 사용하면 조건에 따라 1,0으로 true, false를 리턴할 수 있습니다. 아래 예시와 같이 작성하면 item table에 id가 #{id}인 데이터가 한개일 때 1, 그 외에 0를 리턴합니다. 유효성검사에 유용하게 사용할 수 있습니다. 잘못된 사용법 SELECT IF(COUNT(*) = 1, true, false) 올바른 사용법 ex) SELECT IF(COUNT(*) = 1, 1, 0) FROM item WHERE id = #{id} 이전 1 다음