투케이2K

43. (spring/스프링) mybatis 에서 mysql 데이터베이스 delete 데이터 삭제 수행 및 리턴 결과 확인 실시 본문

Spring

43. (spring/스프링) mybatis 에서 mysql 데이터베이스 delete 데이터 삭제 수행 및 리턴 결과 확인 실시

투케이2K 2022. 6. 8. 16:50

[개발 환경 설정]

개발 툴 : inteli j

개발 언어 : spring

 

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

    // [SEARCH FAST] : [테스트 delete 삭제]
    @GetMapping("/testDelete")
    public String testDelete(@RequestParam Map<String, String> param){ // [쿼리 파람 방식]
        //public String testDelete(@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("testDelete"));
        System.out.println("[INPUT] : "+String.valueOf(param.toString()));
        System.out.println("================================================");
        System.out.println("\n");


        /**
         * // -----------------------------------------
         * [호출 방법]
         * // -----------------------------------------
         * 1. 호출 방식 : GET
         * // -----------------------------------------
         * 2. 호출 방법 : http://localhost:7000/testDelete
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         *   testDelete 수행 결과
         * // -----------------------------------------
         * */


        // [service 호출 수행]
        try {
            // [인풋 데이터 생성 실시]
            Map input = new HashMap();
            input.put("DEPT", "테스트"); // [조건 값]

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

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

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

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

    // [SEARCH FAST] : [테스트 delete 삭제]
    public int TEST_DELETE(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_DELETE"));
                System.out.println("[INPUT] : "+String.valueOf(map.toString()));
                System.out.println("================================================");
                System.out.println("\n");

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

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

[매퍼 : DB_Maria_Api_Mapper : 소스 코드]

import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

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


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





    /**
     * // -----------------------------------------
     * // TODO [빠른 로직 찾기 : 주석 로직 찾기]
     * // -----------------------------------------
     * // [SEARCH FAST] : [테스트 delete 삭제]
     * // -----------------------------------------
     * */





    // TODO [SEARCH FAST] : [테스트 delete 삭제]
    int TEST_DELETE(Map map);


} // TODO [클래스 종료]
 

[mybatis : DB_Maria_Api_Mybatis : 소스 코드]

    <!--
    // =========================================
    // [SEARCH FAST] : [테스트 delete 삭제]
    // =========================================
    // [select id] [mapper 인터페이스 지정 메소드] : TEST_DELETE
    // =========================================
    -->
    <delete id="TEST_DELETE">
        <![CDATA[
        delete from TEST_USER
        where T_DEPT = #{DEPT}
        ]]>
    </delete>
 

[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