요르딩딩
[Spring 분석] Mapper.(java, xml) 작성 본문
DB를 사용하기 위해서는 dispatcher-servlet.xml에서 설정했던 명칭 방식을 따라합니다.
저는 "com.company.RuRu"를 기반으로 만들었습니다. (아래소스는 mapper와 더불어 전반적인 설정입니다.)
<context:component-scan base-package="com.company.RuRu">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
1. DAO 설정 (mapper.java)
Data Access Object의 약자입니다.
데이터를 조작하는 기능을 전담하는 객체라고 생각하면 됩니다.
mapper.java
@Repository("")는 해당 클래스의 호출명칭 같은 것으로, 다른클래스에서 해당 클래스를 접근하고자 할때, 사용합니다.
datasource-mapper.xml에서 등록한 sqlSession클래스에 접근하기 위해서는 @Autowired를 사용합니다.
mapper.xml에 <mapper namespace = "">를 적어두어, mapper.java(DAO 클래스)에서 Namespace를 사용하여 쿼리문을 호출할 수 있도록 하고 있습니다.
2. VO설정 (HashMap으로 대체가능)
Value Object의 약자입니다.
단순 값을 저장하는 객체라고 생각하면 됩니다.
사용할 데이터를 정의하고, getter,setter를 만들어 주었습니다.
[DataVO.java]
package com.company.RuRu;
public class DataVO {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
Mapper.xml에 <select id="" resultType = "DataVO">를 명시했는데, 여기서 DataVO는 mapper.config.xml에서
<typeAlias alias="DataVO" type="com.company.RuRu.DataVO" />를 줄여말하기로 했던 DataVO.java파일입니다.
3. Service 설정
일반적으로 service.java (Interface파일)과 이를 구현하는 serviceImpl.java (java파일)을 만들어 사용합니다.
service.java (interface)
serviceImpl.java
해당 클래스의 호출명칭을 @Service("")로 정하고, 우리가 참조하려는 자원의 이름을 @Resource(name="DAO") (mapper.java)로 적어주면 됩니다.
4. Controller 설정
뷰를 제어해주는 역합을 합니다.
@RequestMapping을 통해 어떤 컨트롤러가 요청을 처리할지 알게 됩니다.
Controller
5. JSP파일 설정
jsp파일은 view폴더에 만들어주어야합니다.
저는 실무에서 직접사용하지 않았습니다. 공부하시는 분들은 검색을 통해 공부하시는것이 좋을거 같습니다.
'[Web] > [Spring]' 카테고리의 다른 글
[Spring 분석] URLConnect, HTTPURLConnect (0) | 2021.04.03 |
---|---|
[Spring 분석] @Controller, @RestController (0) | 2021.03.27 |
[Spring 분석]Dispatcher-Servlet 란 (0) | 2021.03.21 |
[Spring 분석] Spring 프로젝트 만들기 (Maven 기반) (0) | 2021.03.20 |
[Spring 분석] Spring과 Framework이란 (0) | 2021.03.20 |