MAPPER 질문입니다

조회수 544회

자동차 대여 시스템을 구상중인데

웹에서 대여날짜 대여지역 , 반납날짜 반납지역을 인서트한후 다음 화면에 보여주는 기능을 구현중인데

이미지

테이블 컬럼중에 다른 컬럼도 같이 있는데 mapper에 특정 컬럼만 넣을수 있나요? 아니면 다 인서트해야하나요? 이미지

  • 혹시 특정하지 않은 컬럼의 기본값을 스프링-마이바티스에서 자동으로 설정하는 방법을 묻는 질문인가요? 질문 내용은 DBMS와 쿼리같은데, 태그가 다른게 달려 있어서 헛갈리네요. 편집요청빌런 2020.4.14 10:36
  • oracle sql에서 쿼리를 작성하고 스프링-마이바티스에서 설정하는 질문입니다. 윤우섭 2020.4.14 11:00

1 답변

  • 일단 쿼리 매퍼는 말 그대로 쿼리를 만들어주는 기능만 하는거라서 해당 질문과 마이바티스, 스프링은 관련이 없습니다.

    그러니 쿼리만 생각해보자구요.

    CREATE TABLE MY_TABLE(
        COL1 NUMBER,
        COL2 NUMBER,
        COL3 NUMBER
    );
    
    INSERT INTO MY_TABLE(
        COL1, COL2
    ) VALUES (
        123, 456
    );
    

    정의된 컬럼이 세 개여도 INSERT에서 일부 컬럼만 지정하는건 물론 가능합니다. 다만 생략하는 컬럼은 자동으로 null이 삽입되니까 해당 컬럼이 null을 허용해야 한다는 조건이 붙죠.

    벗뜨 작성자님이 첨부한 테이블 정의를 보면 (저 스샷이 전부라고 가정하면) 모든 컬럼이 NN, 즉 null을 허용하지 않습니다. 그러니 지금 상황에서는 어떠한 컬럼도 생략할 수 없습니다.

    • 답변감사합니다 그렇다면 한 홈페이지에서 저 테이블 내용이 다 입력해야 가능한 말씀인건가요? 윤우섭 2020.4.14 10:49
    • 네, 다 입력해야합니다. 하지만 테이블에 필요한 정보를 모두 사용자 입력으로만 처리할 필요는 없습니다. 예를 들어 결제금액과 최종결제금액을 사용자 입력을 받아 저장하는게 아니라, 사용자가 선택한 다른 값을 바탕으로, 서버에서 별도로 계산해 저장할 수도 있다는 말입니다. 아니면 기본값(입력하지 않았을 때 미리 정해진 특정한 값으로 기본 설정)으로 처리하는 방법도 있겠죠 편집요청빌런 2020.4.14 11:10
    • 이해하기쉽게 설명해주셔서 감사합니다. 윤우섭 2020.4.14 12:18

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)