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> 태그를 사용해서 쿼리를 작성해준다.
② 각 태그별 특징 및 작성방법
③ 쿼리를 작성하기전에 반드시 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
① 자세한 작성법은 아래의 링크에서 참고할 수 있습니다.
② 메소드의 리턴타입은 resultType이 없으므로 void가 되어야 한다.
1
2
3
4
5
|
@Mapper
public interface LoginMapper {
public void setUserName(String userName);
}
|
cs |
③ Service도 Mapper와 같이 메소드를 만들어주면 된다.
④ Repository와 Service 인터페이스를 다 만들었다면 Controller에 Service를 연결한 후, 결과를 DB에서 확인할 수 있다.
다음포스팅의 주제
'포트폴리오 > CCS' 카테고리의 다른 글
[프로젝트/JAVA] 8일차 - 회원가입 ② (0) | 2021.07.21 |
---|---|
[프로젝트/JAVA] 8일차 - 회원가입 ① (0) | 2021.07.13 |
[프로젝트/JAVA] 7일차 - form태그를 활용한 INSERT - 2 (0) | 2021.06.28 |
[프로젝트/JAVA] 7일차 - form태그를 활용한 INSERT - 1 (0) | 2021.06.26 |
[프로젝트/JAVA] 6일차 - Controller, View (0) | 2021.06.25 |
댓글