투케이2K

65. (spring/스프링) mysql 프로시저 호출 select out 아웃 메시지 및 컬럼 데이터 받기 - sql session 본문

Spring

65. (spring/스프링) mysql 프로시저 호출 select out 아웃 메시지 및 컬럼 데이터 받기 - sql session

투케이2K 2022. 7. 11. 18:28

[개발 환경 설정]

개발 툴 : inteli j

개발 언어 : spring

 

[컨트롤러 : DB_Maria_Api_Controller : 소스 코드]

    // TODO [SEARCH FAST] : [PRO_ALL_MVER] : [모바일 버전 등록 조회]
    @GetMapping("/PRO_ALL_MVER")
    public String PRO_ALL_MVER(@RequestParam Map<String, Object> param) {
        log.debug("[PRO_ALL_MVER] : [start]");
        System.out.println("\n");
        System.out.println("================================================");
        System.out.println("[CLASS] : " + String.valueOf(CLASS_NAME));
        System.out.println("[METHOD] : " + String.valueOf("PRO_ALL_MVER"));
        System.out.println("[INPUT] : " + String.valueOf(param));
        System.out.println("================================================");
        System.out.println("\n");

        /**
         * // -----------------------------------------
         * [호출 방법]
         * // -----------------------------------------
         * 1. 호출 방식 : GET
         * // -----------------------------------------
         * 2. 호출 방법 :
         *
         *  [주소 정의] : http://localhost:7000/PRO_ALL_MVER
         * // -----------------------------------------
         * */


        // [테스트 서비스 호출 실시]
        Map inputMap = new HashMap();
        inputMap.put("TYPE", "1");
        inputMap.put("REDT", "");
        inputMap.put("NAME", "");
        inputMap.put("PLAT", "");
        inputMap.put("CODE", "");
        inputMap.put("VONM", "");
        inputMap.put("MEMO", "");
        inputMap.put("FLAG", "");
        inputMap.put("WKNM", "");
        inputMap.put("MSG", "");

        List<List<Map<String, Object>>> serviceData = db_smu_api_service.PRO_ALL_MVER(inputMap);

        System.out.println("\n");
        System.out.println("================================================");
        System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
        System.out.println("[METHOD] : "+String.valueOf("PRO_ALL_MVER"));
        System.out.println("[RETURN] : "+String.valueOf(serviceData));
        System.out.println("================================================");
        System.out.println("\n");

        return serviceData.toString();
    }
 

[서비스 : DB_Maria_Api_Service : 소스 코드]

    // TODO [SEARCH FAST] : [PRO_ALL_MVER] : [모바일 버전 등록 조회]
    public List<List<Map<String, Object>>> PRO_ALL_MVER(Map inputData){

        // [리턴 반환 변수 선언 실시]
        List<List<Map<String, Object>>> returnData = null;

        // [로직 처리 실시]
        try {

            // [인풋 데이터 널 체크 수행 실시]
            if(C_Util.mapNotNull(inputData) == true){

                // [mapper 인터페이스 호출 실시]
                returnData = db_smu_api_mapper.PRO_ALL_MVER(inputData);
            }
            else {
                // [로그 출력 실시]
                System.out.println("\n");
                System.out.println("================================================");
                System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
                System.out.println("[METHOD] : "+String.valueOf("PRO_ALL_MVER"));
                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_ALL_MVER] : [모바일 버전 등록 조회]
    List<List<Map<String, Object>>> PRO_ALL_MVER(Map map);
 

[mybatis : DB_Maria_Api_Mybatis : 소스 코드]

    <!--
    // =========================================
    // [SEARCH FAST] : [PRO_ALL_MVER] : [모바일 버전 등록 조회]
    // =========================================
    // [select id] [mapper 인터페이스 지정 메소드] : PRO_ALL_MVER
    // =========================================
    -->
    <resultMap id="PRO_ALL_MVER_O_MSG" type="hashmap" />
    <resultMap id="PRO_ALL_MVER_O_CURSOR" type="hashmap" />
    <select id="PRO_ALL_MVER" parameterType="hashmap" resultMap="PRO_ALL_MVER_O_MSG, PRO_ALL_MVER_O_CURSOR" statementType="CALLABLE">
        <![CDATA[
        { call PRO_ALL_MVER(
                #{TYPE,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{REDT,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{NAME,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{PLAT,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{CODE,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{VONM,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{MEMO,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{FLAG,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{WKNM,    mode=IN,    jdbcType=VARCHAR,    javaType=string},
                #{MSG,     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
 
반응형
Comments