스프링부트에서 자주 사용되는 객체중에 ObjectMapper 객체가 있습니다. 저는 개인적으로 많이 쓰지는 않지만 Util로 만들어서 Json String으로 만들어서 디비에 저장하거나 혹은 Json String을 특정 객체로 매핑시킬 때 사용하게 되는데요. 이 객체는 사실 기본조건일 때, 스프링 부트에서 직렬화/역직렬화(Serialize, Deserialize)를 담당합니다. 즉, ResponseEntity가 response body를 json으로 직렬화 할때, ObjectMapper가 사용되게 됩니다. 그러나 기본조건으로 java8에서 등장한 LocalDateTime, LocalDate, LocalTime과 같은 객체들을 아래와 같이 직렬화합니다. 기본조건으로 직렬화한 LocalDateTime { "..
Error creating bean with name 'reportController' defined in file [file 주소] Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ' 'service.ReportService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 아마 다들 자주 이러한 메시지를..
안녕하세요. 오늘은 MyBatis에서 choose 절을 활용한 동적쿼리를 만드는 방법들에 대해서 소개해보려고 합니다. 보통 특정 조건에 따라 쿼리의 형태가 다이나믹해지도록 구성하기 위한 방법으로 많이 사용되는 절입니다. 사용되는 xml 태그는 ,, 세가지 종류입니다. 하나씩 살펴보겠습니다. 구조 및 사용법select * from tableA where deleted = false and a = 1 and a = 2 and a is not null 전체 choose 조건문의 범위를 결정하는 태그를 시작으로 의 test 속성을 통해 조건을 건다.a 라는 변수는 자바 Interface Mapper에서 넘어온 파라미터를 그대로 사용할 수 있다. 태그는 "그 외에는" 이라는 느낌인데, 때로는 default의 의미..
문제 설명 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 가로의 길이 n은 60,000이하의 자연수 입니다. 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. 입출력 예 n result 4 5 ..
안녕하세요. 오늘은 마이바티스를 활용하여 간단한 단일 조건문을 구성하는 방법을 소개하겠습니다. 이전에 포스팅했던 choose, when, otherwise를 구성하여 복합적으로 작용하는 dynamic sql을 구현하는 방법을 작성했었는데요.sas-study.tistory.com/383 절은 상당히 간단하면서도 절과 거의 똑!같!이! 사용된다고 보시면 됩니다. 일단 보시죠! 구조 및 사용법select * from tableA where deleted = false and a = #{a} and b = #{b} 일단 가장 일반적으로 활용하는 경우는 select 문의 where 절의 조건으로 넘어온 파라미터의 not null 여부에 따라서 조회 조건에 추가할 지 말지를 결정하는 경우가 있다. 예컨데 리스트 검..
SSD를 추가하기 위해서 노트북의 전원을 안전하게 종료하였습니다.! 제가 사용하고 있는 노트북은 LG 그램 17 2019년 모델입니다. 추가한 SSD는 11번가에서 아래의 제품을 구매하였습니다. www.11st.co.kr/products/2675306608?trTypeCd=20&trCtgrNo=585021 [11번가] Western Digital WD Blue SN550 M.2 2280 (1TB)/정품판매점/SSD/NVMe/必 카테고리: 1TB이상, 가격 : 144,000 www.11st.co.kr 1. 노트북 하단의 고무밴드를 모두 제거하고 나사를 풀러냅니다. - 양 옆에 두개씩 있는 동그런 부분은 뭔가 버튼인줄 알았는데 사실은 스티커였습니다... ㅎㅎ 2. 나사를 풀러내면 아래의 LG 그램 17의 내..
이전에 Postgresql 관련 내용에서 1개의 컬럼으로 10개의 레코드가 1~10형태로 나올 recursive 문을 짜시오.라는 문제를 내며 postgresql의 recursive문에 대해서 포스팅을 한 적이 있었는데요. sas-study.tistory.com/165[Postgresql] recursive 문이란?? 개념 및 예제신입으로 처음 들어간 회사에서 oracle DB말고 postgresql이라는 DB를 사용해서 Postgresql을 처음 배웠을때 recursive 문을 배웠습니다. 자바의 for문과 비슷한 원리로 돌아가는 반복문인데 구조는 다음과 sas-study.tistory.com당시 하나의 컬럼에 대해서 1부터 10의 row를 반환하도록 하는 방법이었습니다. 즉, 일련의 숫자를 테이블형태..
안녕하세요. 오늘은 자바/스프링을 활용해서 개발할 때 필수적으로 사용하셨으면 좋을 라이브러리를 소개하고자 합니다. 사실 많은 분들이 이미 아실거에요! Lombok 라이브러리 입니다. sas-study.tistory.com/260 [Spring] 스프링 프레임워크 Lombok 라이브러리 Lombok - 자바 개발시 자주 사용하는 getter/setter, toString(), 생성자 등을 자동으로 생성해주는 라이브러리. - @Data, @Getter, @Setter, @ToString 등의 어노테이션 방식을 이용한다. - @Data 어노테이션은.. sas-study.tistory.com 이전에도 포스팅했던 적이 있는데요! 설치 방법을 올린적이 있었는데 인텔리제이에서 설치하는 방법은 다음과 같습니다. 인텔리..