상세 컨텐츠

본문 제목

Procedure

DB

by 영공쁘이 2022. 8. 22. 17:44

본문

Procedure : 특정 작업을 수행하는 PL/SQL block

프로시저는, Service에서 특정 작업을 수행할 때 사용합니다.

 

실무에서 사용하는 예시로 보기

루트 : JSP -> controller -> service -> SQL

 

1) JSP

화면에서 필요로 하는 버튼이 있을 경우, ajax 통신의 url로 프로시저 실행 url을 삽입

var url : "/test/transactionData.do";

$.ajax({
	url: "/test/transactionData.do"
	data: data 
    ...
}

2) Controller

JSP로부터 호출된 url로 들어가서 return 값으로 service.해당 프로시저 서비스 이름

@RequstMapping(value="/test/transactionData.do")
@ResponseBody
public ModelAndView testData(HttpServletRequest req){
	DataMap map = getData(req);
	map.put("nn",data);
	return testService.transactionData(map);
}

3) Service

프로시저를 실행하는 DAO의 id를 호출하여 db에 접근

public ModelAndView transactionData(){
	testDAO.select("testDAO.getTransactionDao",map);
}

4) SQL

여기서는 프로시저 호출과 연관된 내용이 나옵니다.

<parameterMap id="procMap" class="java.util.Map">
	<parameter property="id1" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
    <parameter property="id2" javaType="java.lang.String" jdbcType="VARCHAR" mode="INOUT" />
</parameterMap>

<resultMap id="" class="">
	<result property="" column="" />
</resultMap>

<procedure id="testDAO.transactionDao" parameterMap ="" resultMap =""> 
	{ call procedure_name(?,?,?,?...)}
</procedure>

 

 

 

 프로시저에 관하여: 프로시저는 필요한 작업을 수행하는 것으로, 필요할 때 쓰면 된다.

그러면서, 사용법이 환경에 따라 달라진다. 일단 크게 두 가지로 나뉠 수 있다.

1. 기본 서비스에서의 사용법

2. 인터셉터에서의 사용법

 

1은 위와 같은 방법으로 할 수 있는 것이고

2는 인터셉터라고 따로 정의된 파일에서 함수로(callProcedure) 사용이 가능한 것

 

 

 

 

'DB' 카테고리의 다른 글

프로시저  (0) 2023.07.20
Docker와 DB 연결 및 권한 부여하기  (0) 2021.08.05

관련글 더보기