스프링 + MyBatis

정하윤·2023년 5월 31일
0

스프링 + MyBatis

  • XML 코드를 사용한 SQL 작성, DAO에서 XML연결

     장점 : SQL구문 분리 ⇒ (컴파일 X ) 유지보수가 좋음
    
     단점 : 작성해야하는 코드분량 증가, 복잡성 증가    
  • 어노테이션 + 인터페이스 SQL 작성

     장점 : 별도의 DAO객체없이 사용가능 ⇒생산성증가
    
     단점 : SQL 수정마다 컴파일 발생
  • XML 코드 / 어노테이션 SQL 작성

     장점 : 간단한 SQL -어노테이션/ 복잡한 SQL - XML 사용(유연한 처리)
    
     단점 : 개발자의 역량 차이가 큼 (SQL 유지보수 부적합)

XML 코드를 사용한 SQL 작성

  • DB 테이블 생성 (+ 개발준비)

  • 도메인 객체 설계 & 클래스 생성

  • DAO 인터페이스 생성 (약한결합을 위해)

  • 인터페이스 안에 필요한 기능을 정의

  • XML 파일(Mapper) 생성

  • XML 파일 구성(설정) & SQL 구문 작성

        - XML 파일의 DTD설정
    
        - XML 파일의 위치(저장경로)를 지정 (namespace)
    
        - SQL 작성
  • MyBatis와 스프링에서 XML Mapper를 인식설정

  • DAO 객체를 구현 ( 기능 구현 )

  • 테스트 파일 실행 ( ⇒ 서비스/컨트롤러 호출 )

    MVC : Controller → Action → DAO → DB

SPRINGMVC : Test → DAOImpl → ( Mybatis ) → mapper → DB

log4j

  • 스프링 개발시에 필요한 정보를 로그로 출력

  • 기존에 사용했던 출력문은 서비스 배포시에는 필요없기 때문에 제거 해야함

     → 직접 출력코드 삭제 X (로그레벨에 따른 실행을 결정)
  • 프로그램 내부에 로그레벨을 설정 (지정한 레벨보다 낮은레벨의 메세지만 출력)

로그레벨

  • FATAL (6) : 시스템 차원의 심각한 상태의 레벨
  • ERROR (5) : 실행 중에 문제 발생한 상태의 레벨
  • WARN (4) : 시스템 오류의 원인을 표시하는 상태의 레벨
  • INFO (3) : 애플리케이션의 운영정보(로그인 기록, 상태변경 기록…..)출력하는 레벨
  • DEBUG (2) : 개발시에 필요한 디버깅 용도 레벨
  • TRACE (1) : DEBUG레벨보다 상세한 정보를 출력 레벨

0개의 댓글

관련 채용 정보