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

🎯 작업
이 프로젝트에서 다음을 배우게 됩니다.
- log4j 라이브러리를 사용하여 로깅 컴포넌트를 구성하는 방법
- 프로젝트에 로깅 종속성을 추가하는 방법
- 코드에서 로깅 컴포넌트를 사용하여 메시지를 로깅하는 방법
- MyBatis 구성 파일에서 엔티티 클래스에 대한 배치 별칭을 구현하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다.
- Java 프로젝트에서 로깅 컴포넌트를 설정하고 구성합니다.
- 로깅 컴포넌트를 사용하여 다양한 수준 (예: DEBUG, INFO, ERROR) 에서 메시지를 로깅합니다.
- MyBatis 코드에서 엔티티 클래스 사용을 단순화하기 위해 배치 별칭을 적용합니다.
로깅 설정
이 단계에서는 프로젝트에서 로깅 컴포넌트를 구성하는 방법을 배우게 됩니다.
프로젝트의
src/main/resources디렉토리에log4j.properties구성 파일을 생성합니다.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) 로 보냅니다.
로깅 의존성 추가
이 단계에서는 로깅 컴포넌트에 필요한 종속성을 프로젝트에 추가합니다.
MyBatisCourseDemo02프로젝트에서pom.xml파일을 엽니다.<dependencies>섹션에 다음 종속성을 추가합니다.
<!-- Log4j dependency -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version> <!-- Adjust version as needed -->
</dependency>
이 종속성은 로깅 컴포넌트에 필요한 클래스와 메서드를 제공합니다.
코드에서 로깅 사용
이 단계에서는 Logger 인스턴스를 생성하고 이를 사용하여 코드에서 메시지를 로깅합니다.
/src/test/java/org/lanqiao/test/디렉토리에서MyBatisTest.java파일을 엽니다.파일 상단에 다음 코드를 추가합니다.
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
- private static Logger 인스턴스를 생성합니다.
private static final Logger logger = Logger.getLogger(MyBatisTest.class);
before()메서드에서 log4j 구성 파일을 로드합니다.
static {
PropertyConfigurator.configure("/home/labex/project/MyBatisCourseDemo02/src/main/resources/log4j.properties");
}
- 테스트 메서드에서 로거 인스턴스를 사용하여 메시지를 로깅합니다.
@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 사용
이 단계에서는 배치 별칭을 사용하여 프로젝트의 엔티티 클래스에 별칭을 지정합니다.
/src/main/resources/디렉토리에서mybatis-config.xml파일을 엽니다.다음
<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
터미널에서 테스트를 실행하는 명령을 사용하면 다음 결과를 참조할 수 있습니다.

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



