4.서비스 개발

Edit

이 장에서는 서비스 개발하는 방법에 대해 설명합니다.

4.1조회 서비스 개발하기

1

SqlMap Explorer에서 서비스 추가 버튼을 클릭해서 새로운 서비스를 생성합니다.

2

DB Explorer에서 테이블을 선택하고 마우스 우클릭하여 팝업메뉴를 호출하고 SELECT메뉴를 선택합니다.

그림 4-1Select 메뉴 선택했을 때

3

하단의 Input/Output탭 화면에서 InputDatasets 를 선택하고 추가 버튼으로 Dataset을 추가하여 기본 데이터셋 생성합니다.

4

컬럼 "ISBN"을 추가합니다.

5

Rows에 검색조건 값을 입력합니다.

그림 4-2테스트 파라메터를 입력

6

생성된 쿼리에 검색조건을 추가합니다.

  • 파라메터는 "#{"와 "}" 사이에 정의 합니다.

  • Dataset의 컬럼값은 #{Dataset명.컬럼명}으로 합니다.

  • Variable의 경우는 Variable명으로 합니다. Ex) #{ISBN}

7

Test 버튼을 클릭하여 결과를 확인합니다.

8

저장 메뉴를 클릭하여 서비스를 저장합니다.

4.2Insert Update Delete 서비스 개발하기

4.2.1INSERT

1

SqlExplorer에서 서비스 추가 버튼을 클릭 합니다.

2

DB Explorer에서 테이블을 선택하고 마우스 우클릭하여 팝업메뉴를 호출합니다.

3

팝업메뉴에서 INSERT메뉴를 선택합니다.

그림 4-3Insert메뉴를 선택했을 때

4

하단의 Input/Output탭 화면에서 InputDatasets 하위에 자동생성된 dsBOOKINFO(기본데이터셋)을 선택 합니다.

5

컬럼 Rows영역의 Row추가 버튼을 클릭하여 dsBOOKINFO 데이터셋에 Row를 추가합니다.

6

추가된 Row의 컬럼에 입력할 값을 채워 넣습니다.

7

Test(F5) 또는 Run(F9) 버튼을 클릭하여 실행합니다.

8

Console 탭화면에서 결과를 확인합니다.

4.2.2UPDATE

1

SqlExplorer에서 서비스 추가 버튼을 클릭합니다.

2

DB Explorer에서 테이블을 선택하고 마우스 우클릭하여 팝업메뉴를 호출합니다.

3

팝업메뉴에서 UPDATE 메뉴를 선택합니다.

그림 4-4Update메뉴를 선택했을 때

4

하단의 Input/Output탭 화면에서 InputDatasets 하위에 자동생성된 dsBOOKINFO(기본데이터셋)을 선택 합니다.

5

컬럼 Rows영역의 Row추가 버튼을 클릭하여 dsBOOKINFO 데이터셋에 Row를 추가합니다.

6

추가된 Row의 컬럼에 입력할 값을 채워 넣습니다.

7

Test(F5) 또는 Run(F9) 버튼을 클릭하여 실행합니다.

8

Console 탭화면에서 결과를 확인합니다.

4.2.3DELETE

1

SqlExplorer에서 서비스 추가 버튼을 클릭합니다.

2

DB Explorer에서 테이블을 선택하고 마우스 우클릭하여 팝업메뉴를 호출합니다.

3

팝업메뉴에서 DELETE 메뉴를 선택합니다.

그림 4-5Delete메뉴를 선택했을 때

4

하단의 Input/Output탭 화면에서 InputDatasets 하위에 자동생성된 dsBOOKINFO(기본데이터셋)을 선택 합니다.

5

컬럼 Rows영역의 Row추가 버튼을 클릭하여 dsBOOKINFO 데이터셋에 Row를 추가합니다.

6

추가된 Row의 Primary Key컬럼에 값을 채워넣습니다.

7

Test(F5) 또는 Run(F9) 버튼을 클릭하여 실행합니다.

8

Console 탭화면에서 결과를 확인합니다.

4.3Dynamic SQL 사용하기

MyBatis Dynamic SQL기능을 사용할 수 있으며 조건에 대한 처리를 위해 if, choose, foreach를 지원합니다.

4.3.1if 조건문 사용하기

<if test="조건식">
    조건식에 만족할 경우 사용할 Dynamic 쿼리문
</if>

그림 4-6IF문 사용예시

4.3.2choose 조건문 사용하기

<choose>
    <when test="조건식1">
        조건식1에 만족할 경우 Dynamic SQL문
    </when>
    <when test="조건식2">
        조건식2에 만족할 경우 실행할 Dynamic SQL문
    </when>
    <otherwise>
        조건식에 만족하는 경우가 없을 경우 실행할 Dynamic SQL문
    </otherwise>
</choose>

그림 4-7choose문 사용예시

4.3.3bind 문 사용하기

<bind name="바인드명" value="Input Data" />
. . . .
. .
WHERE 테이블-컬럼명 LIKE #{바인드명}

그림 4-8bind문 사용예시

4.3.4foreach 문 사용하기

<foreach item="item" index="index" collection="데이터셋명.컬럼명_foreach" open="WHERE 컬럼명 in (" separator="," close=")">
#{item}
</foreach>

foreach문의 collection속성값은 InputDataset의 데이터셋명.컬러명에 반드시 _foreach 문장을 추가하여 입력하여야 합니다.

그림 4-9bind문 사용예시

4.4Procedure 서비스 개발하기

1

SqlExplorer에서 서비스추가 버튼을 클릭합니다.

2

DB Explorer에서 테이블을 선택하고 마우스 우클릭하여 팝업메뉴를 호출합니다.

3

팝업메뉴에서 CALL 메뉴를 선택합니다.

그림 4-10call메뉴를 선택했을 때

4

하단의 Input/Output탭 화면에서 하위에 자동생성된 dsTESTPROCEDURE(기본데이터셋)을 선택합니다.

5

컬럼 Rows영역의 Row추가 버튼을 클릭하여 dsTESTPROCEDURE 데이터셋에 Row를 추가합니다.

6

추가된 Row의 컬럼에 입력할 값을 채워 넣습니다.

7

Test(F5) 또는 Run(F9) 버튼을 클릭하여 실행합니다.

8

Result 탭화면에서 결과를 확인합니다.

4.5Function 서비스 개발하기

1

SqlExplorer에서 서비스추가 버튼을 클릭합니다.

2

DB Explorer에서 테이블을 선택하고 마우스 우클릭하여 팝업메뉴를 호출합니다.

3

팝업메뉴에서 CALL 메뉴를 선택합니다.

그림 4-11Call 메뉴를 선택했을 때

4

하단의 Input/Output탭 화면에서 InputDatasets 하위에 자동생성된 dsTESTFUNCTION(기본데이터셋)을 선택합니다.

5

컬럼 Rows영역의 버튼을 클릭하여 dsTESTFUNCTION 데이터셋에 Row를 추가합니다.

6

추가된 Row의 컬럼에 입력할 값을 채워 넣습니다.

7

Test(F5) 또는 Run(F9) 버튼을 클릭하여 실행합니다.

8

Result 탭화면에서 결과를 확인합니다.