본문 바로가기

spring boot30

[Java] LocalDateTime 값을 String 포멧으로 변환하는 방법 Spring Boot를 사용하여 웹 애플리케이션을 만들다 보면 마주하는 데이터 타입이 LocaDateTime입니다. 로그나 액션을 취한 시간을 DB에 기록해야 할 필요성이 있기 때문이죠. 그대로 저장하고 그대로 사용하면 좋겠지만 또 변환을 해야 할 필요성이 있는 경우도 많습니다. 이번 포스팅에서는 LocalDateTime 값을 String 포멧으로 변환하는 방법을 알아볼게요. LocalDateTime 클래스 Java8 에서 등장한 클래스가 LocaDateTime입니다. 이 클래스는 타임존의 개념이 필요 없는 날짜와 시간에 대한 정보를 저장하고 나타내기 위해서 사용하는 클래스입니다. 그래서 Dto를 이용해서 브라우저에서 서버로 시간을 넘겨주거나 Database에 저장하기 위해 Entity를 만들 때 주로 .. 2022. 3. 16.
[Spring Boot] Mybatis 사용시 "[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다 해결방법 실무에서는 JPA와 더불어 Mybatis 역시 많이 사용하고 있는 방법 중 하나입니다. 현재 잘 운영되고 있는 시스템이라면 굳이 최신으로 꼭 변경해야 할 의무는 없으니까요. 이번 포스팅에서는 Mybais 사용중 발생하는 에러중 하나에 대해서 해결 방법을 알아보려 합니다. Spring Boot와 Mybatis를 연결해서 DB를 접근해서 사용하시는 분들도 많으실것 같아요. XML 관련 에러 열심히 Mybatis가 연동된 SQL 문장을 고치던 도중 아래와같은 에러가 갑자기 발생하기 시작했습니다. "[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다. 아무런 에러없이 잘 되던 어플리케이션이 위와같은 에러가 발생하면서 톰캣도 올라오지 않는 상태가 되어버렸습니다. 이유를 찾아보니 XML관련 에러.. 2022. 3. 11.
[Spring Boot] @RequestParam @RequestBody @PathVariable 차이를 알아보자 지난 포스팅에서는 API를 간단하게 호출해서 View형태로 페이지를 응답할지, 아니면 데이터의 형태로 응답할지에 대해서 ㅇ라아보았습니다. 2022.02.18 - [쿤즈 Dev/Spring Boot] - [Spring Boot] 간단한 API 만들어서 테스트 해보기(feat. @Controller vs @RestController) [Spring Boot] 간단한 API 만들어서 테스트 해보기(feat. @Controller vs @RestController) 지난 포스팅에서 스프링 부트 프로젝트를 생성하고 Run 하여 Whitelabel이 나오는 화면까지 확인해 보았습니다. 2022.02.16 - [쿤즈 Dev/Spring Boot] - [Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 [Sp.. 2022. 2. 24.
[Spring Boot] 간단한 API 만들어서 테스트 해보기(feat. @Controller vs @RestController) 지난 포스팅에서 스프링 부트 프로젝트를 생성하고 Run 하여 Whitelabel이 나오는 화면까지 확인해 보았습니다. 2022.02.16 - [쿤즈 Dev/Spring Boot] - [Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 [Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 웹 프로젝트를 만드는 방법이 아주 쉬워졌습니다. 바로 Spring Boot 덕분인 것 같아요. 예전에는 뭐 하나 설정하려면 복잡하고 어려운 부분들이 많았지만 지금은 프레임워크 하나로 모든 세팅이 끝 koonsland.tistory.com 이렇게 해서 만든 프로젝트에서 이제부터 살을 조금씩 붙여 나갈 볼 예정인데요. 이번에는 내가 만든 프로젝트가 정말 화면에 정상적으로 나오는지 확인해 보기 위해서 API를 .. 2022. 2. 18.
[Spring Boot] Maven Package 빌드시 Test Skip 방법 Spring Boot 개발이 완료되면 배포를 하기 위해서 jar 또는 war로 빌드하는 과정을 거치게 됩니다. 빌드 과정에는 여러 가지를 실행하는데요. 이때 properties에 따라서 개발 DB 혹은 운영 DB로 변경될 수 있습니다. 만약 운영 DB에는 개발서버에서 직접 연결하지 못한다면 빌드 과정에 포함된 TEST에서 오류가 발생하는 걸 확인했어요. 이번 포스팅에서는 메이븐(Maven) 빌드 과정중 TEST를 Skip 하는 방법을 알아볼게요. TDD (Test Driven Development) Spring Boot 개발을 공부하거나 실무를 진행하는 과정에서 테스트는 굉장히 중요합니다. 그래서 다양한 케이스별로 테스트 프로그램을 진행합니다. 물론 Spring Boot는 이 테스트마저 쉽게 할 수 있도.. 2022. 2. 12.
[Spring Boot] Mybatis 변수 사용시 #{ } 와 ${ } 의 차이 Spring Boot에서 데이터베이스를 접근할 때 많이 사용하는 방법은 Mybatis를 사용하는 방법과 Jpa를 사용하는 방법이 있습니다. 이번 포스팅에서는 Mybatis를 사용하면서 마주하게 되는 #{}와 ${}의 차이를 알아보도록 하겠습니다. Mybatis 문법 Mybatis는 기본적으로 xml 파일에 쿼리문을 넣어서 사용합니다. 따라서 쿼리의 종류에 따라 xml를 묶어서 사용할 수 있고 Database 쿼리만 따로 관리할 수 있어서 편리한 이점이 있습니다. 다음과 같은 쿼리를 사용해야 한다고 생각해 보겠습니다. SELECT * FROM usertbl WHERE user_id = 'test'; 여기서 문자열로 받는 test는 Java 클래스와 연동시켜서 보통 사용하고 값을 넘겨줍니다. 그래서 XML .. 2021. 5. 5.
[Spring Boot] Mybatis 에서 조건문 사용시 null 과 zero size string 구분 방법 스프링 부트 프로젝트를 만들기 시작하면 DB Query를 많이 작성하게 됩니다. 기본적으로 게시판 형태가 가장 기본인 되는 CRUD이기 때문이죠. 이때 Mybatis를 사용하면 parameter로 넘어온 object가 null 인지 아닌지를 비교해야 할 필요가 있습니다. 이번 포스팅에서는 parameter의 object가 null 혹은 zero size string을 구분하는 방법을 알아보도록 하겠습니다. Mybatis에서 NULL 또는 ""(zero size string) 구분 Mybatis 문법을 이용해서 NULL 또는 "" 스트링을 구분하는 방법은 다음과 같습니다. NULL 구분 ... ""(zero size string) 구분 ... 예를들어서 parameter로 넘어온 Object가 null이 .. 2021. 3. 16.
[Spring Boot] Mybatis 동적쿼리 LIKE 사용 방법 스프링 부트와 같은 거대한 프레임워크를 공부하다 보면 문법에 맞지 않아서 고생(보통 '삽질')을 많이 합니다. 웹 프로그래밍을 할 때, 보통 DB에서 무엇인가를 가져오기 위해 쿼리를 작성합니다. 이때 오류가 가장 많이 나타나는 것 같습니다. 이번 포스팅에서는 Mybatis 사용시 동적 쿼리 중 LIKE를 사용하는 방법에 대해서 알아보도록 하겠습니다. SQL에서 포함되는 글자를 찾아주는 LIKE 관계형 데이터베이스(RDBMS)에서 특정 문자열이 있는지 검색하고 싶을 때 사용하는 문법이 LIKE입니다. LIKE문의 사용법은 아래와 같이 사용합니다. SELECT * FROM table_name WHERE column_name LIKE '%test%'; MySQL 또는 MariaDB의 Query 구문입니다. 조.. 2021. 3. 12.
[Spring Boot] 정적소스 수정 후 서버 재시작 없이 적용 방법 스프링 부트(Spring Boot) 개발을 공부하시다 보면 느껴지는 불편함이 있습니다. 바로 정적 소스들을 수정해도 브라우저에 바로 반영이 되지 않아서 서버를 항상 재시작해야 하는 점이죠. 그래서 이번 포스팅에서는 정적 소스(*.html, *. js, *. css)들을 수정하고 서버 재시작 없이 적용하는 방법에 대해서 알아보도록 하겠습니다. 서버 재시작 없이 정적소스 반영 1 : devtools 추가 첫 번째로 해야 할 일은 Maven에 devtools 라이브러리를 추가하는 것입니다. 보통은 개발 세팅을 할 때 미리 라이브러리를 추가해 주지만 추가가 되어 있지 않을 경우에 추가해 주시면 됩니다. 먼저 pom.xml파일을 열어서 아래 dependency를 추가해줍니다. org.springframework... 2021. 3. 9.