프로젝트 - src - main - resource 경로에
new other -> xml -> xmlfile :[Configuration.xml] 생성
sessionFactory 빈에게 전달되어 MyBatis의 SqlSessionFactory를 생성하는 데 사용된다.
sessionFactory를 sqlSessionTemplate에 주입하여 SqlSessionTemplate을 생성하고 사용한다.
SqlSessionTemplate은 MyBatis의 SqlSession을 Spring에서 사용하기 쉽게 감싸주는 역할을 한다.
위에서 만든 경로의 MemberMapper.xml 파일에
xml문서의 형식을 정하는 코드를 작성한 후
ctrl + spcebar 하면 mapper요소를 작성 할 수 있게 된다.
mapper안에서 sql문을 작성해준다.
ctrl + spcebar로 작성 할 수 있는 요소들을 확인 할 수 있다.
파라미터 타입에 dto의 경로를 패키지 부터 적어주어야함
위 사진과 같은 경로로 package 2개를 만든다.
setter와 getter, contsracter을 생성한다.
MembeDto를 implements 해서 MeberDaoImpl를 add하여 override 매소드들을 만든다.
생성된 classtype(sqlSessionTemplate)이 아닌 sqlSession 인터페이스 타입으로 사용한다.
: 의존하지않고 유연성을 위해
@autowired : 자동으로 주입 받겠다는 의미
의존성을 주입시켜주는 역할. 의존성 주입을 실제로 실현하게 한다.
insert 메서드와 getList메소드 오버라이딩
@RequestMapping("/member/insert")
public String insert(MemberDto dto) {
//MemberDao 객체를 이용해서 DB에 저장
dao.insert(dto);
//view page로 forward 이동해서 응답
return "member/insert";
}
//회원추가 폼 요청 처리
@RequestMapping("/member/insertform")
public String inserform() {
// /WEB-INF/views/member/insertform.jsp 페이지로 forward 이동해서 응답
return "member/insertform";
}
@RequestMapping("/member/list")
//회원 목록 보기 요청 처리
public String list(HttpServletRequest request) {
//회원목록을 얻어와서
List<MemberDto> list=dao.getList();
//request scope에 담고
request.setAttribute("list", list);
// /WEB-INF/views/member/list.jsp 페이지로 forward 이동해서 응답
return "member/list";
}