본문 바로가기
Spring

[Spring] MyBatis 연결하기 1

by 별토끼. 2017. 7. 26.
반응형

[Spring] MyBatis 연결하기



  • MyBatis 연동하기



1.

Convert to Maven Project

프로젝트 생성 후 ant로 build 하는 것을 maven으로 하도록 바꾸기


2. 

web.xml 생성

- Generate Deployment Descriptor Stub 클릭



3.

pom.xml에 dependencies 만들고 붙여넣기



4.

web.xml에서 dispatcherservlet 자동완성


5. 


6.


7.


8.

controller- 어떤 요청했을 때 어떻게 처리할지 결정하는 것

service- buisness logic을 처리한다



9.

index.jsp


10.

요청 처리할 controller


11.


12.

-jsp파일 templete설정하기


13.

-home.jsp


14.

-복사 붙여넣기


15.

-Configuration default


-MemberMapper default



16.




17.

1
2
3
4
5
6
    <!-- Dao 에 주입해줄 SqlSession 인터페이스를 구현한 
    SqlSessionTemplate 객체 -->
    <bean class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg name="sqlSessionFactory" ref="sessionFactory"/>
    </bean>    
    
cs

- DAO가 필요로 하는 객체

- DAO에서 필요한 의존 객체를 직접 조립해서 갖고있다.

- DAO가 필요하면 DAO에 주입을 해주겠다. : Dependency Injection (DI)

- 필요한 객체를 new해서 쓰지않는다 : 의존관계 때문에 



18.

memberDto 만들기


19.

DAO 인터페이스 정의

-의존관계 느슨히 하기위함

20.

DAO Interface생성 후 implements받는 MemberDaoImpl 클래스 생성


21.

MemberListController 생성

22.

- MemberService Interface를 생성한 후 


- implements 받는 MemberServiceImpl 을 생성



23.

annotation을 붙여준다.

- @Controller 

-@Service


- @Repository


24.

component-scan을 입력해준다.


25.

MemberListController 

- component scan이 되었을 때 스프링 컨테이너에서 관리 되도록 @Controller

- 요청이 맵핑될 수 있도록 @RequestMapping

- ModelAndView 객체 : request에 담을 내용, view페이지 정보도 담아 리턴하면 알아서 request에 담고 view페이지에 forward이동도 해준다.

- new로 객체를 생성하는 것이 아니라

- 의존객체를 주입받아 ModelAndView 객체 리턴하여 이용


26.

MemberServiceImpl 

-new로 객체를 생성하지 않는다.

-@Autowired를 이용하여 MemberDao를 Dependency Injection (DI)

- ModelAndView 객체를 생성하고 담는다.


27.

MemberDaoImpl

- SqlSession 객체를 주입받을 수 있도록 한다.


- 주입받은 session객체를 이용해 list에 담는다.



28.

Mapper


29.

views/member/list.jsp


반응형

'Spring' 카테고리의 다른 글

[Spring] Spring Legacy Project 환경설정  (0) 2017.07.27
[Spring] MyBatis 이용하기 3  (0) 2017.07.27
[Spring] MyBatis 연결하기 2  (0) 2017.07.26
[Spring] MVN 프로젝트의 구성  (0) 2017.07.26
[Spring] Spring 시작하기  (0) 2017.07.25

댓글