등록/수정하는 쿼리 작성에서 타입으로 문제가 빈번히 발생했다.
각각 data type
을 아래와 같이 설정해두었다.
xml : mybatis
INSERT INTO public."LOGIN_TABLE"
"NAME",
"ID",
"PW",
"LOGIN_DATE"
VALUES (
#{name},
#{id},
#{pw},
#{loginDate}
)
swagger나 postman에서 테스트를 아래와 같이 작성하였다.
{
"name" : "han",
"id" : "test",
"pw" : "1234",
"loginDate" : "2022-07-20"
}
이렇게 하니 loginDate가 dto에서 string으로 정의되어 있으나 db에서는 timpestamp여서 오류가 발생하였다.
아래와 같이 TO_DATE( #{loginDate}, 'YYYY-MM-DD')
작성해 주면 오류가 해결되고 db에 time 값이 0으로 세팅된다.
TO_DATE(text,format) // 2022-07-07 00:00:00.000
xml : mybatis
INSERT INTO public."LOGIN_TABLE"
"NAME",
"ID",
"PW",
"LOGIN_DATE"
VALUES (
#{name},
#{id},
#{pw},
TO_DATE( #{loginDate}, 'YYYY-MM-DD')
)