학습 목표
- 첫 DB 종단간 의 핵심 개념을 안다
- 종단간 + DB 의 동작을 안다
- DB 의 데이터가 화면까지 흘러온다. v1 마일스톤.
1. 문제
v0.5 의 하드코딩 자리를 진짜 DB 로 교체할 시간.
2. 새 도구
종단간 + DB: 브라우저 → Controller → Service → Mapper → DB → 다시 화면. 흐름도가 처음 끝에서 끝까지 연결.
3. 코드 — v2 minimal Member 형태
// com/smhrd/domain/Member.java
@Data @AllArgsConstructor @NoArgsConstructor
public class Member {
private String id;
private String pwd;
}
// com/smhrd/mapper/MemberMapper.java
@Mapper public interface MemberMapper {
Member selectOne(String id);
}
<!-- com/smhrd/mapper/MemberMapper.xml -->
<mapper namespace="com.smhrd.mapper.MemberMapper">
<select id="selectOne"
parameterType="string"
resultType="com.smhrd.domain.Member">
SELECT id, pwd FROM mymember WHERE id = #{id}
</select>
</mapper>
// com/smhrd/service/MemberService.java
@Service
public class MemberService {
@Autowired MemberMapper mapper;
public Member find(String id) { return mapper.selectOne(id); }
}
// com/smhrd/controller/MemberController.java
@Controller
public class MemberController {
@Autowired MemberService service;
@GetMapping("/member/view")
public String view(@RequestParam String id, Model model) {
model.addAttribute("member", service.find(id));
return "member/view";
}
}
<!-- view.jsp -->
<h1>${member.id}</h1>
<p>${member.pwd}</p>
4. 정리
- 브라우저 ↔ Controller ↔ Service ↔ Mapper ↔ DB 가 모두 연결
- v0.5 의 하드코딩 자리에 DB 호출이 들어감
- v1 — 우리 프로젝트의 진짜 시작
5. Before / After
전 차시
v0.5 의 하드코딩 자리를 진짜 DB 로 교체할 시간.
이번 차시
DB 의 데이터가 화면까지 흘러온다. v1 마일스톤.
학습 확인 체크리스트
- 브라우저 ↔ Controller ↔ Service ↔ Mapper ↔ DB 가 모두 연결
- v0.5 의 하드코딩 자리에 DB 호출이 들어감
- v1 — 우리 프로젝트의 진짜 시작