서비스단 만들고 DB에서 데이터 뽑아오기(2)

저번 포스팅에 이어서 이번엔 맵퍼를 생성해줍니다


1
2
3
4
@Mapper("welcomeWebMapper")
public interface WelcomeWebMapper {
    List<Map> selectWelcomeWebServiceList()throws Exception;
}
cs


맵퍼또한 서비스처럼 인터페이스로 만듭니다.

인터페이스 안의 함수는 DB에서 값을 가져오는 함수 입니다.


1
2
3
4
5
6
7
8
9
10
11
@Service("welcomeWebService")
public class WelcomeWebServiceImpl extends EgovAbstractServiceImpl implements WelcomeWebService {
    
    @Resource(name="welcomeWebMapper")
    private WelcomeWebMapper welcomeWebMapper;
    
    @Override
    public List<Map> selectWelcomeWebServiceList() throws Exception {
        return welcomeWebMapper.selectWelcomeWebServiceList();
    }
}
cs


서비스 임플에서 4line 에서 어노테이션이용해 맵퍼넣어줍니다.

임플에서는 맵퍼 객체를 생성해 사용할수 있습니다.


서비스 임플은 나중에 트랜잭션 처리까지 담당하게 됩니다.


이렇게 컨트롤러, 서비스, 서비스임플, 맵퍼를 만들었습니다

실행 순서는

컨트롤러 -> 서비스 ->임플 -> 맵퍼 -> SQL 으로 시작되고

SQL 에서 값을 뽑은후 역순으로 다시 올라갑니다.


다음 쿼리문을위해 SQL작성합니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="egovframework.example.welcomeWeb.service.impl.WelcomeWebMapper">
 
   <!-- 메인 조회 -->
   <select id="selectWelcomeWebServiceList" parameterType="egovMap" resultType="egovMap">
      SELECT ID,
          USER_NAME,
          AGE,
          COUNTRY,
          ETC
      FROM welcome_web
 
   </select>
</mapper>
cs



이것은 Mybatis 이다. Mybatis 또한 내 블로그 SPRING 에서 다루었다

6line 에서 셀렉트 id 값은 맵퍼 인터페이스의 함수명과 같아야한다.

그래야 맵핑이 정상적으로 될수있다.


이제 쿼리문 작성후 쿼리문에 맞게

데이터의 테이블을 생성하여 값을 넣어준후



welcomeWeb/welcomeWeb.jsp 생성하여

아래와 같은 방법으로 화면에 값을 출력할수 있다.





댓글

Designed by JB FACTORY