MyBatis 로깅 및 배치 별칭 설정

JavaScriptBeginner
지금 연습하기

소개

이 프로젝트에서는 MyBatis 기반 프로젝트에서 로깅을 구성하고 엔티티 클래스에 대한 배치 별칭을 사용하는 방법을 배우게 됩니다.

👀 미리보기

Project preview screenshot

🎯 작업

이 프로젝트에서 다음을 배우게 됩니다.

  • log4j 라이브러리를 사용하여 로깅 컴포넌트를 구성하는 방법
  • 프로젝트에 로깅 종속성을 추가하는 방법
  • 코드에서 로깅 컴포넌트를 사용하여 메시지를 로깅하는 방법
  • MyBatis 구성 파일에서 엔티티 클래스에 대한 배치 별칭을 구현하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다.

  • Java 프로젝트에서 로깅 컴포넌트를 설정하고 구성합니다.
  • 로깅 컴포넌트를 사용하여 다양한 수준 (예: DEBUG, INFO, ERROR) 에서 메시지를 로깅합니다.
  • MyBatis 코드에서 엔티티 클래스 사용을 단순화하기 위해 배치 별칭을 적용합니다.

로깅 설정

이 단계에서는 프로젝트에서 로깅 컴포넌트를 구성하는 방법을 배우게 됩니다.

  1. 프로젝트의 src/main/resources 디렉토리에 log4j.properties 구성 파일을 생성합니다.

  2. log4j.properties 파일에 다음 구성을 추가합니다.

## Set root logger level to DEBUG and its only appender to stdout.
log4j.rootLogger=DEBUG, stdout

## Define the pattern for the logger
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%t] - %m%n

이 구성은 루트 로거 레벨을 DEBUG 로 설정하고 특정 패턴으로 로그를 콘솔 (stdout) 로 보냅니다.

로깅 의존성 추가

이 단계에서는 로깅 컴포넌트에 필요한 종속성을 프로젝트에 추가합니다.

  1. MyBatisCourseDemo02 프로젝트에서 pom.xml 파일을 엽니다.

  2. <dependencies> 섹션에 다음 종속성을 추가합니다.

<!-- Log4j dependency -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version> <!-- Adjust version as needed -->
</dependency>

이 종속성은 로깅 컴포넌트에 필요한 클래스와 메서드를 제공합니다.

코드에서 로깅 사용

이 단계에서는 Logger 인스턴스를 생성하고 이를 사용하여 코드에서 메시지를 로깅합니다.

  1. /src/test/java/org/lanqiao/test/ 디렉토리에서 MyBatisTest.java 파일을 엽니다.

  2. 파일 상단에 다음 코드를 추가합니다.

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
  1. private static Logger 인스턴스를 생성합니다.
private static final Logger logger = Logger.getLogger(MyBatisTest.class);
  1. before() 메서드에서 log4j 구성 파일을 로드합니다.
static {
    PropertyConfigurator.configure("/home/labex/project/MyBatisCourseDemo02/src/main/resources/log4j.properties");
}
  1. 테스트 메서드에서 로거 인스턴스를 사용하여 메시지를 로깅합니다.
@Test
public void testSel() throws IOException{
    logger.debug("Executing query operation...");
    CourseMapper cMapper = session.getMapper(CourseMapper.class);
    List<Course> courses = cMapper.queryAllCourse();
    System.out.println(courses);
    session.close();
}

이제 테스트를 실행하면 구성된 log4j 속성에 따라 로그 메시지가 콘솔에 표시됩니다.

Entity 클래스에 대한 Batch Aliasing 사용

이 단계에서는 배치 별칭을 사용하여 프로젝트의 엔티티 클래스에 별칭을 지정합니다.

  1. /src/main/resources/ 디렉토리에서 mybatis-config.xml 파일을 엽니다.

  2. 다음 <typeAliases> 섹션을 추가합니다.

<typeAliases>
    <typeAlias type="org.lanqiao.pojo.Course" alias="Course" />
</typeAliases>

이렇게 하면 org.lanqiao.pojo.Course 클래스에 대한 별칭 "Course"가 생성되어 매퍼 파일 및 코드의 다른 부분에서 별칭을 사용할 수 있습니다.

이제 매퍼 파일 및 코드의 다른 부분에서 전체 클래스 이름 org.lanqiao.pojo.Course 대신 별칭 "Course"를 사용할 수 있습니다.

실행

다음 명령을 사용하여 터미널에서 컴파일하고 실행하고 Maven 으로 테스트 파일을 확인합니다.

cd MyBatisCourseDemo02
mvn test

터미널에서 테스트를 실행하는 명령을 사용하면 다음 결과를 참조할 수 있습니다.

Test execution results

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.

✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습✨ 솔루션 확인 및 연습