투케이2K

70. (spring/스프링) mybatis 에서 mssql 데이터베이스 insert 데이터 삽입 수행 및 리턴 결과 확인 실시 본문

Spring

70. (spring/스프링) mybatis 에서 mssql 데이터베이스 insert 데이터 삽입 수행 및 리턴 결과 확인 실시

투케이2K 2022. 10. 3. 15:10

[개발 환경 설정]

개발 툴 : inteli j

개발 언어 : spring

 

[Controller : 소스 코드]

    // TODO [SEARCH FAST] : [테스트 INSERT 삽입]
    @GetMapping("/TEST_INSERT")
    public String TEST_INSERT(@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("TEST_INSERT"));
        System.out.println("[INPUT] : "+String.valueOf(param.toString()));
        System.out.println("================================================");
        System.out.println("\n");


        /**
         * // -----------------------------------------
         * [호출 방법]
         * // -----------------------------------------
         * 1. 호출 방식 : GET
         * // -----------------------------------------
         * 2. 호출 방법 : http://localhost:7000/TEST_INSERT
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *
         *   insert 수행 결과 (성공 1 / 실패 -1)
         * // -----------------------------------------
         * */


        // [service 호출 수행]
        try {
            // [인풋 데이터 생성 실시]
            Map input = new HashMap();
            input.put("IDX", "62");
            input.put("NAME", "김철수");
            input.put("SEX", "M");
            input.put("AGE", "30");
            input.put("DEPT", "조선");
            input.put("PHONE", "010-1234-5678");
            input.put("ADDR", "경기도");
            input.put("RANK", "대리");
            input.put("MARRI", "X");
            input.put("FAMILLY", "3");
            input.put("HOBY", "");

            // [서비스 호출 실시]
            int returnData = mssqlService.TEST_INSERT(input);

            System.out.println("\n");
            System.out.println("================================================");
            System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
            System.out.println("[METHOD] : "+String.valueOf("TEST_INSERT"));
            System.out.println("[RESULT] : "+String.valueOf(returnData));
            System.out.println("================================================");
            System.out.println("\n");

            if (returnData > 0){
                return "Y : " + "INSERT SUCCESS";
            }
            else {
                return "N : " + "INSERT FAIL";
            }
        }
        catch (NullPointerException e) {
            return "N : " + String.valueOf(e.getMessage());
        }
        catch (Exception e2){
            return "N : " + String.valueOf(e2.getMessage());
        }
    }
 

[Service : 소스 코드]

    // TODO [SEARCH FAST] : [테스트 INSERT 삽입]
    public int TEST_INSERT(Map map) throws NullPointerException, Exception {

        int returnData = -1;
        try {
            if (map != null){
                // [mybatis xml 에서 설정한 파라미터 타입에 맞게 데이터 삽입]
                System.out.println("\n");
                System.out.println("================================================");
                System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
                System.out.println("[METHOD] : "+String.valueOf("TEST_INSERT"));
                System.out.println("[INPUT] : "+String.valueOf(map.toString()));
                System.out.println("================================================");
                System.out.println("\n");

                // [mapper 인터페이스 호출 실시]
                returnData = mssqlMapper.TEST_INSERT(map);

                // [리턴 값 반환]
                return returnData;
            }
            else {
                // [리턴 값 반환]
                return returnData;
            }
        }
        catch (Exception e){
            // Exception 발생 체크 부분에 메시지 리턴
            throw new Exception(e.getMessage());
        }
    }
 

[Mapper : 소스 코드]

    // TODO [SEARCH FAST] : [테스트 INSERT 삽입]
    int TEST_INSERT(Map map);
 

[Mybatis : 소스 코드]

    <!--
    // =========================================
    // [SEARCH FAST] : [테스트 INSERT 삽입]
    // =========================================
    // [select id] [mapper 인터페이스 지정 메소드] : TEST_INSERT
    // =========================================
    -->
    <insert id="TEST_INSERT" useGeneratedKeys="true" keyProperty="T_IDX">
        <![CDATA[
        insert into TEST_USER (T_IDX, T_NAME, T_SEX, T_AGE, T_DEPT, T_PHONE, T_ADDR, T_RANK, T_MARRI, T_FAMILLY, T_HOBBY)
        values (#{IDX}, #{NAME}, #{SEX}, #{AGE}, #{DEPT}, #{PHONE}, #{ADDR}, #{RANK}, #{MARRI}, #{FAMILLY}, #{HOBBY})
        ]]>
    </insert>
 

[결과 출력]

 

 

반응형
Comments