v1
★ PART · DB

첫 DB 종단간

데이터와 MyBatis — 읽기 자료

📍 지금 어디를 만지고 있나요?
브라우저
데이터와 MyBatis
DB

핵심 용어

v1우리 프로젝트의 첫 DB 연동 마일스톤.
종단간 흐름입력에서 출력까지의 모든 계층 연결.

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. 정리

5. Before / After

전 차시 끝

v0.5 의 하드코딩 자리를 진짜 DB 로 교체할 시간.

이번 차시 끝

DB 의 데이터가 화면까지 흘러온다. v1 마일스톤.