Database

MyBatis LocalDate

k9e4h 2021. 3. 24. 12:25

 

문제 증상 :  LocalDate 형식을 사용 할때 따옴표가 붙지 않는다.

Java >

LocalDate startDate;

xml > 

Select * From Table Where startDate = #{startDate}

원하는 결과 >

Select * From Table Where startDate = '2020-06-01'

실행된 결과 >

Select * From Table Where startDate = 2020-06-01

 


-------------

예상 원인 1.  Mybatis 구 버전에서 java8의 java.time 형식을 지원하지 않는 문제가 있음, 이 것이 그 문제인가? (연관링크)

해결방안1) handler 추가하기

1-1) mybatis-typehandlers-jsr310 라이브러리 추가 -> 해결안됨

1-2) mybatis-config.xml에 handler 직접 선언 -> 해결안됨

 

예상 원인 2. 직렬화에 실패했다..

jojoldu.tistory.com/361

 

SpringBoot에서 날짜 타입 JSON 변환에 대한 오해 풀기

안녕하세요? 이번 시간엔 Spring과 JSON에 대해 정리해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후

jojoldu.tistory.com

 

해결방안1) Json DateFormat을 붙여준다

@DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
LocalDate startDate;

-> 안됨.

 

예상 원인 2. LocalDate는 원래 따옴표가 붙지 않음

해결방안1) Date 타입으로 변경시 원하는대로 동작함(따옴표 붙음)

-> 데이터타입 변경 - TimeStamp or String

-> 따옴표를 붙여준다.. : DATE_FORMAT('${startDate}', '%Y%m')

해결방안2) String 처럼 쓸 수 있는 방법을 찾는다.

반응형

'Database' 카테고리의 다른 글

[Oracle] Describe Table  (0) 2022.06.14
[MySQL] Limit 성능  (0) 2021.07.01
MySQL PK 순서  (0) 2021.02.10
MySql - MUL key  (0) 2020.04.23
MySql DB/테이블 사이즈 확인을 위한 쿼리  (0) 2020.01.29