투케이2K

37. (spring/스프링) mybatis 에서 mysql 생성된 함수 (function) 호출 및 리턴 결과 확인 본문

Spring

37. (spring/스프링) mybatis 에서 mysql 생성된 함수 (function) 호출 및 리턴 결과 확인

투케이2K 2022. 6. 6. 11:03

[개발 환경 설정]

개발 툴 : inteli j

개발 언어 : spring

 

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

    // TODO [SEARCH FAST] : [테스트 함수 호출]
    @GetMapping("/testFunction")
    public String testFunction(@RequestParam Map<String, String> param){ // [쿼리 파람 방식]
        //public String testFunction(@RequestBody Map<String, String> param){ // [body 방식]
        System.out.println("\n");
        System.out.println("================================================");
        System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
        System.out.println("[METHOD] : "+String.valueOf("testFunction"));
        System.out.println("[INPUT] : "+String.valueOf(param.toString()));
        System.out.println("================================================");
        System.out.println("\n");


        /**
         * // -----------------------------------------
         * [호출 방법]
         * // -----------------------------------------
         * 1. 호출 방식 : GET
         * // -----------------------------------------
         * 2. 호출 방법 : http://localhost:7000/testFunction
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *   Y : USER : NAME : 홍길동 AGE : 15
         * // -----------------------------------------
         * */


        // [service 호출 수행]
        String returnData = db_maria_api_service.FNC_USER_INFO("홍길동", 15);


        // [리턴 받은 map 데이터 널 체크 실시]
        try {
            if (C_Util.stringNotNull(returnData) == true){
                System.out.println("\n");
                System.out.println("================================================");
                System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
                System.out.println("[METHOD] : "+String.valueOf("testFunction"));
                System.out.println("[RESULT] : "+String.valueOf(returnData));
                System.out.println("================================================");
                System.out.println("\n");

                return returnData;
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }


        // [리턴 데이터 반환]
        return "";
    }
 

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

    // TODO [SEARCH FAST] : [테스트 함수 호출]
    public String FNC_USER_INFO(String name, int age){

        // [mapper 인터페이스 호출 실시]
        return db_maria_api_mapper.FNC_USER_INFO(name, age);
    }
 

[매퍼 : DB_Maria_Api_Mapper : 소스코드]

import org.apache.ibatis.annotations.Mapper;

import java.util.Map;

// TODO [매퍼 어노테이션]
@Mapper
public interface DB_Maria_Api_Mapper {


    /**
     * // -----------------------------------------
     * TODO [클래스 설명]
     * // -----------------------------------------
     * 1. 데이터베이스 접근 및 매퍼 인터페이스
     * // -----------------------------------------
     * 2. 데이터베이스 쿼리문 수행 xml 리턴 값 받음
     * // -----------------------------------------
     * */





    /**
     * // -----------------------------------------
     * // TODO [빠른 로직 찾기 : 주석 로직 찾기]
     * // -----------------------------------------
     * // [SEARCH FAST] : [테스트 함수 호출]
     * // -----------------------------------------
     * */





    // TODO [SEARCH FAST] : [테스트 함수 호출]
    String FNC_USER_INFO(String name, int age);


} // TODO [클래스 종료]
 

[mybatis : DB_Maria_Api_mybatis : 소스코드]

    <!--
    // =========================================
    // [SEARCH FAST] : [테스트 함수 호출]
    // =========================================
    // [select id] [mapper 인터페이스 지정 메소드] : FNC_USER_INFO
    // =========================================
    -->
    <select id="FNC_USER_INFO" resultType="String">
        <![CDATA[
        select FNC_USER_INFO(#{name}, #{age}) AS 함수결과
        ]]>
    </select>
 

[결과 출력]

 
반응형
Comments