데이터와 MyBatis — 읽기 자료
v0.5 의 하드코딩 자리를 진짜 DB 로 교체할 시간.
브라우저 → Controller → Service → Mapper → DB → 다시 화면. 흐름도가 처음 끝에서 끝까지 연결.
// 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>
v0.5 의 하드코딩 자리를 진짜 DB 로 교체할 시간.
DB 의 데이터가 화면까지 흘러온다. v1 마일스톤.