はじめに
このプロジェクトでは、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;
- プライベート スタティック Logger インスタンスを作成します。
private static final Logger logger = Logger.getLogger(MyBatisTest.class);
before()メソッドで log4j 構成ファイルを読み込みます。
static {
PropertyConfigurator.configure("/home/labex/project/MyBatisCourseDemo02/src/main/resources/log4j.properties");
}
- テスト メソッドで 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 プロパティに従ってコンソールにログ メッセージが表示されます。
エンティティクラスに対してバッチエイリアシングを使用する
このステップでは、バッチ エイリアシングを使用して、プロジェクト内のエンティティ クラスにエイリアスを付けます。
/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 でさらに多くの実験を行ってみましょう。



