[프로젝트/JAVA] 7일차 - form태그를 활용한 INSERT - 3

    728x90
    반응형

    2021.07.06

    49번째 포스팅

     

    입사 120일차.

    View에서 가지고 온 parameter를 MVC모델2 순서에 따라

    View - Controller - Service - Repository - Mapper - DB 순서로 전달해주면 된다.

    오늘은 Controller에서 받은 parameter를 DB까지 전달해서 INSERT를 진행해보려고 한다.

     

    아래에 작성하는 내용들은 6일차까지 똑같이 작성했다는 전제가 깔려있다.

     

     

    0. 작업순서

      ① Spring에서 View의 요청을 전달하는 순서는 정해져있지만, 각 과정을 만드는 순서는 개인의 취향이다.

            ※ 저의 경우, View - Controller - Mapper - Repository - Service 순으로 작업을 진행합니다.

      ② View - Controller - Service - Repository - Mapper - DB 순서는 반드시 기억하고 있어야 한다.

     

     

    1. Mapper ( MyBatis )

      ① <insert> 태그를 사용해서 쿼리를 작성해준다.

      ② 각 태그별 특징 및 작성방법

     

    [프로젝트/JAVA] 6일차 - MyBatis(Mapper.xml)

    2021.06.16 40번째 포스팅 입사 100일 차. 이제 모든 준비가 끝났다. View에서 사용자의 요청을 받아 DB의 데이터에 변형을 주는 작업만이 남아있다. 오늘은 Service, Repository를 만들어서 DB와 Spring을 연결

    limreus.tistory.com

     

      ③ 쿼리를 작성하기전에 반드시 DB와 테이블의 이름, 테이블의 구조, 경로, 파라미터 등을 확인해야 한다.

            ※ 데이터베이스명 : ccs / 테이블명 : user_info

     

      ④ 파라미터는 #{ 파라미터명 } 으로 표시를 해준다.

          #{파라미터명} 의 형식으로 작성하면  user_name 컬럼에 우리가 view에서 입력한 값을 DB에 INSERT한다.

           #{ } 는 문자열, ${ } 는 문자열 외 다른 타입을 입력할 때 사용한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <insert id="setUserName" parameterType="String">
        INSERT INTO user_info (
            user_name
            , user_age
        ) VALUES (
            #{userName}
            , 100
        )
    </insert>
    cs
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <insert id="setUserName" parameterType="String">
        INSERT INTO user_info (
            user_name
            , user_age
        ) VALUES (
           '할아버지'
            , 100
        )
    </insert>
    cs

     

      ⑤ INSERT는 DB에서 값을 가져오지 않으므로 return값이 없다. 따라서 resultType도 작성하지 않는다.

           View에서 받아온 파라미터의 자료형이 String이므로, parameterType에는 String을 작성해준다.

     

      ⑥ INSERT 쿼리를 짤때는 들여쓰기, 라인피드를 잘 맞춰주는 것이 좋다.

            ※ 내가 작성한 코드는 나보다 유지보수하는 사람이 더 많이 보게 됩니다. 

                  그러므로 들여쓰기, 줄바꿈, 주석을 작성하는 습관을 들여야 합니다.

     

     

    2. Service, Repository

      ① 자세한 작성법은 아래의 링크에서 참고할 수 있습니다.

     

    [프로젝트/JAVA] 6일차 - Service, Repository(DAO)

    2021.06.20 41번째 포스팅 입사 104일 차. 이제 모든 준비가 끝났다. View에서 사용자의 요청을 받아 DB의 데이터에 변형을 주는 작업만이 남아있다. 오늘은 Service, Repository를 만들어서 DB와 Spring을 연결

    limreus.tistory.com

     

      ② 메소드의 리턴타입은 resultType이 없으므로 void가 되어야 한다.

    1
    2
    3
    4
    5
    @Mapper
    public interface LoginMapper {
     
        public void setUserName(String userName);
    }
    cs

     

      ③ Service도 Mapper와 같이 메소드를 만들어주면 된다.

      ④ Repository와 Service 인터페이스를 다 만들었다면 Controller에 Service를 연결한 후, 결과를 DB에서 확인할 수 있다.

     

     

    다음포스팅의 주제

     

    [프로젝트/JAVA] 8일차 - 회원가입 ①

    2021.07.13 50번째 포스팅 입사 127일차. 지금까지는 값을 하나만 받아서 primitive타입을 parameterType에 작성했다. 하지만 Model(VO)이 parameterType이 되면 여러가지 데이터를 한 번에 INSERT 할 수 있다. 오..

    limreus.tistory.com

     

    728x90
    반응형

    댓글