데이터와 MyBatis — 실습
브라우저 → Controller → Service → Mapper → DB → 다시 화면. 흐름도가 처음 끝에서 끝까지 연결.
USE spring_db;
INSERT INTO mymember(id, pwd) VALUES('hong', 'temp1234');
SELECT * FROM mymember;
('hong', 'temp1234') 한 행이 보이는가?// 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.* 패키지인가?<!-- src/main/resources/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";
}
}
<!-- /WEB-INF/views/member/view.jsp -->
<h1>${member.id}</h1>
<p>${member.pwd}</p>
/member/view?id=hong 접속hong + temp1234 가 보이는가?SELECT id, pwd FROM mymember WHERE id = ? SQL 로그가 찍혔는가?mymember 에 회원 한 명 INSERTcom.smhrd.domain.Member + MemberMapper + XML 작성