MyBatis におけるロギングとバッチエイリアシングの設定

JavaScriptJavaScriptBeginner
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、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. プライベート スタティック 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. テスト メソッドで Logger インスタンスを使用してメッセージをログに記録します。
@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 プロパティに従ってコンソールにログ メッセージが表示されます。

エンティティ クラスに対するバッチ エイリアシングの使用

このステップでは、バッチ エイリアシングを使用して、プロジェクト内のエンティティ クラスにエイリアスを付けます。

  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 でさらに多くの実験を行ってみましょう。