Notice
Recent Posts
Recent Comments
Link
투케이2K
62. (spring/스프링) mysql 프로시저 호출 시 OUT 아웃 메시지 널 (null) 반환 이슈 해결 본문
[개발 환경 설정]
개발 툴 : inteli j
개발 언어 : spring
[컨트롤러 : DB_Maria_Api_Controller : 소스 코드]
// [Mybatis.xml 에서 지정한 파라미터 명칭과 같아야함]
Map inputMap = new HashMap();
inputMap.put(S_FinalData.PARAM_KEY_ID, ID.trim());
inputMap.put(S_FinalData.PARAM_KEY_PASS, PASS.trim());
inputMap.put(S_FinalData.PARAM_KEY_MOCO, MOCO.trim());
inputMap.put(S_FinalData.PARAM_KEY_PLAT, PLAT.trim());
// [서비스 호출 수행 실시]
List<List<Map<String, Object>>> serviceData = db_maria_api_service.PRO_INS_LOGIN(inputMap);
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("PRO_INS_LOGIN"));
System.out.println("[SERVICE DATA] : "+String.valueOf(serviceData));
System.out.println("================================================");
System.out.println("\n");
[서비스 : DB_Maria_Api_Service : 소스 코드]
// TODO [SEARCH FAST] : [PRO_INS_LOGIN] : [디바이스 중복 관계 없이 로그인 수행]
public List<List<Map<String, Object>>> PRO_INS_LOGIN(Map inputData){
// [리턴 반환 변수 선언 실시]
List<List<Map<String, Object>>> returnData = null;
// [로직 처리 실시]
try {
// [인풋 데이터 널 체크 수행 실시]
if(C_Util.mapNotNull(inputData) == true){
// [mapper 인터페이스 호출 실시]
returnData = db_maria_api_mapper.PRO_INS_LOGIN(inputData);
}
else {
// [로그 출력 실시]
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("PRO_INS_LOGIN"));
System.out.println("[ERROR] : "+String.valueOf("Input Data Is Null"));
System.out.println("================================================");
System.out.println("\n");
}
}
catch (Exception e){
e.printStackTrace();
}
// [프로시저 수행 후 리턴 값 반환]
return returnData;
}
[매퍼 : DB_Maria_Api_Mapper : 소스 코드]
// TODO [SEARCH FAST] : [PRO_INS_LOGIN] : [디바이스 중복 관계 없이 로그인 수행]
List<List<Map<String, Object>>> PRO_INS_LOGIN(Map map);
[mybatis : DB_Maria_Api_Mybatis : 소스 코드]
<!--
// =========================================
// [SEARCH FAST] : [PRO_INS_LOGIN] : [디바이스 중복 관계 없이 로그인 수행]
// =========================================
// [select id] [mapper 인터페이스 지정 메소드] : PRO_INS_LOGIN
// =========================================
-->
<resultMap id="PRO_INS_LOGIN_O_MSG" type="hashmap" />
<resultMap id="PRO_INS_LOGIN_O_CURSOR" type="hashmap" />
<select id="PRO_INS_LOGIN" parameterType="hashmap" resultMap="PRO_INS_LOGIN_O_MSG, PRO_INS_LOGIN_O_CURSOR" statementType="CALLABLE">
<![CDATA[
{ call PRO_INS_LOGIN(
#{ID, mode=IN, jdbcType=VARCHAR, javaType=string},
#{PASS, mode=IN, jdbcType=VARCHAR, javaType=string},
#{MOCO, mode=IN, jdbcType=VARCHAR, javaType=string},
#{PLAT, mode=IN, jdbcType=VARCHAR, javaType=string}
)}
]]>
</select>
[DB Connection : application.yml : 소스 코드]
# [Maria DB]
maria:
driver-class-name: org.mariadb.jdbc.Driver
jdbc-url: jdbc:mariadb://3.54.138.43:3306/test?characterEncoding=UTF-8&serverTimezone=UTC&characterEncoding=utf8&noAccessToProcedureBodies=true
username: test
password: test@1234
hikari:
maximum-pool-size: 20
connection-timeout: 30000
반응형
'Spring' 카테고리의 다른 글
Comments