Notice
Recent Posts
Recent Comments
Link
투케이2K
75. (spring/스프링) mybatis 에서 mssql 데이터베이스 프로시저 (procedure) 호출 및 메시지, 테이블 조회 확인 실시 본문
Spring
75. (spring/스프링) mybatis 에서 mssql 데이터베이스 프로시저 (procedure) 호출 및 메시지, 테이블 조회 확인 실시
투케이2K 2022. 10. 3. 21:09[개발 환경 설정]
개발 툴 : inteli j
개발 언어 : spring
[Controller : 소스 코드]
// TODO [SEARCH FAST] : [테스트 프로시저 MSG / TABLE 호출]
@GetMapping("/USER_MSG_PROC")
public String USER_MSG_PROC(@RequestParam Map<String, String> param){ // [쿼리 파람 방식]
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("USER_MSG_PROC"));
System.out.println("[INPUT] : "+String.valueOf(param.toString()));
System.out.println("================================================");
System.out.println("\n");
/**
* // -----------------------------------------
* [호출 방법]
* // -----------------------------------------
* 1. 호출 방식 : GET
* // -----------------------------------------
* 2. 호출 방법 : http://localhost:7000/USER_MSG_PROC
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* [[{T_NAME=홍길동, T_DEPT=조선, T_PHONE=010-1234-5678, T_HOBBY=축구, T_FAMILLY=2, T_SEX=M, T_MARRI=O, T_ADDR=A1-1, T_IDX=1, T_AGE=50, T_RANK=사원}], [{OUT_MSG=Y: 정상 처리 되었습니다. [STEP = 3] [2022-10-03 20:41:00]}]]
* // -----------------------------------------
* */
// [초기 리턴 데이터 선언 실시]
String returnData = "";
// [로직 처리 수행 실시]
try {
// [service 호출 수행]
List<List<Map<String, Object>>> serviceData = mssqlService.USER_MSG_PROC("홍길동", "50");
// [리턴 데이터 삽입 실시]
if (serviceData != null && serviceData.size()>0 && serviceData.isEmpty() == false){
returnData = serviceData.toString();
}
}
catch (Exception e){
e.printStackTrace();
}
// [로그 출력 실시]
//*
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("USER_MSG_PROC"));
System.out.println("[RESULT] : "+String.valueOf(returnData));
System.out.println("================================================");
System.out.println("\n");
// */
// [리턴 데이터 반환]
return returnData.toString();
}
[Service : 소스 코드]
// TODO [SEARCH FAST] : [테스트 프로시저 MSG / TABLE 호출]
public List<List<Map<String, Object>>> USER_MSG_PROC(String name, String age){
// [mybatis xml 에서 설정한 인풋값 명칭에 맞게 데이터 가공 실시]
Map map = new HashMap<>();
map.put("IN_NAME", String.valueOf(name));
map.put("IN_AGE", String.valueOf(age));
// [map 인풋값 확인 실시]
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("USER_MSG_PROC"));
System.out.println("[INPUT] : "+String.valueOf(map.toString()));
System.out.println("================================================");
System.out.println("\n");
// [mapper 인터페이스 호출 실시]
List<List<Map<String, Object>>> returnData = mssqlMapper.USER_MSG_PROC(map);
// [프로시저 수행 후 리턴 값 반환]
return returnData;
}
[Mapper : 소스 코드]
// TODO [SEARCH FAST] : [테스트 프로시저 MSG / TABLE 호출]
List<List<Map<String, Object>>> USER_MSG_PROC(Map map);
[Mybatis : 소스 코드]
<!--
// =========================================
// [SEARCH FAST] : [테스트 프로시저 MSG / TABLE 호출]
// =========================================
// [select id] [mapper 인터페이스 지정 메소드] : USER_MSG_PROC
// =========================================
// [resultMap] : 프로시저 수행 후 리턴 메시지 및 커서 테이블이 담길 맵
// =========================================
-->
<resultMap id="USER_MSG_PROC_O_MSG" type="hashmap" />
<resultMap id="USER_MSG_PROC_O_CURSOR" type="hashmap" />
<select id="USER_MSG_PROC" parameterType="hashmap" resultMap="USER_MSG_PROC_O_MSG, USER_MSG_PROC_O_CURSOR" statementType="CALLABLE">
<![CDATA[
{ call USER_MSG_PROC(
#{IN_NAME},
#{IN_AGE}
)}
]]>
</select>
[결과 출력]
반응형
'Spring' 카테고리의 다른 글
Comments