TIL

효준·2024년 11월 8일
0

11월 8일 금요일
AM 알고리즘 풀이 과제 수행
PM 과제 수행

💡 Today Issue

Spring MYSQL DEFAULT CURRENT_TIME 다루기

🤔 나의 생각 + 배운 것

Spring DEFAULT CURRENT_TIME

전제

  • Intelij의 내부 Database tool에서 MYSQL을 사용
  • createDate와 updateDate는 TIMESTAMP 타입으로 NOT NULL 형식이며 DEFAULT = CURRENT_TIMESTAMP로 만들었다.

발단


작성자를 생성하는 기능에서는 사용하였다.
SimpleJdbcInsert를 이용하여 Insert문을 작성하는 방식으로 사용하였고 여기서 간과한 사실은 DEFAULT를 설정 하였을때는 INSERT시에 왠만하면 값이 들어갈 칼럼을 명시해야한다는 것이다.

그로 인해 500 에러가 발생되고 createDate에 들어오는 값이 null일수 없다는 에러를 반환하게 된다.


해결방안


usingColumns()를 이용해 name, email 인자를 삽입하였더니 이와 같이 INSERT 문을 작성한다.

return new WriterResponseDto(key.longValue(), writer.getName(), writer.getEmail(), writer.getCreateDate(), writer.getUpdateDate());

반환시

TIMESTAMP 타입들이 null을 반환한다.

이와 같이 삽입된 데이터를 방금 만든 key로 userid 조회하여 Dtos에 저장하고 그 값이 비어있지 않다면 Dtos를 반환한다.
정상적으로 반환한다.

🕐회고

세상에 잘하는 사람이 너무 많다. 따라가려면 더 열심히 해야겠다.

profile
사진은 캣타워가 생겨 포효하는 고양이입니다.

0개의 댓글

관련 채용 정보