はじめに
このプロジェクトでは、MyBatis ベースのアプリケーションでプロパティを使ってデータベース構成を変更する方法を学びます。MyBatis は、Java アプリケーションとデータベースの間の相互作用を簡素化する人気のある Java 永続化フレームワークです。
👀 プレビュー
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.labex.test.MyBatisTest
Data deleted successfully
Data inserted successfully
[コース番号:1 コース名:データ構造 担当教員:John Smith, コース番号:2 コース名:Java 担当教員:Mary Johnson, コース番号:3 コース名:Python 担当教員:David Brown, コース番号:4 コース名:C++ 担当教員:Jennifer Davis, コース番号:6 コース名:C 担当教員:Michael Wilson, コース番号:8 コース名:人工知能 担当教員:Emily Thompson]
Data updated successfully
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.1 sec
🎯 タスク
このプロジェクトでは、以下を学びます。
- データベース構成を
mybatis-config.xmlファイルからdb.propertiesファイルに移動する方法。 mybatis-config.xmlファイルを変更して、db.propertiesファイルで定義されたプロパティを使ってデータベース接続を構成する方法。- 提供されたテストケースを実行してアプリケーションの機能を検証する方法。
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- MyBatis 構成ファイルからデータベース構成を分離する。
- MyBatis ベースのアプリケーションでプロパティを使ってデータベース接続を構成する。
- MyBatis 構成ファイルでプロパティ値をインポートして使う。
- テストケースを実行してアプリケーションの機能を確認する。
データベース構成を db.properties ファイルに移動する
このステップでは、データベース構成を mybatis-config.xml ファイルから db.properties ファイルに移動する方法を学びます。
MyBatisPropertiesProject/src/main/resourcesディレクトリにあるdb.propertiesファイルを開きます。- 以下のプロパティを
db.propertiesファイルに追加します。
## データベース構成
## データベースドライバクラス名
driver=com.mysql.cj.jdbc.Driver
## データベース接続 URL
url=jdbc:mysql://localhost:3306/MyBatisDemo?characterEncoding=utf-8
## データベースユーザー名
username=root
## データベースパスワード
password=
## Mapper 構成
## MyBatis mapper インターフェイスが含まれるパッケージ
mapper.package=org.labex.mapper
これらのプロパティは、データベースドライバ、接続 URL、ユーザー名、パスワード、および MyBatis mapper インターフェイスが含まれるパッケージを定義します。
mybatis-config.xml ファイルを変更してプロパティを使用する
このステップでは、mybatis-config.xml ファイルを変更して、db.properties ファイルで定義されたプロパティを使用する方法を学びます。
MyBatisPropertiesProject/src/main/resourcesディレクトリにあるmybatis-config.xmlファイルを開きます。- ファイルの先頭に次の行を追加して、
db.propertiesファイルからのプロパティをインポートします。
<properties resource="db.properties"/>
<dataSource>要素内のデータベース接続構成を更新して、インポートされたプロパティを使用します。
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
<mappers>要素を更新して、mapper.packageプロパティを使用します。
<mappers>
<package name="${mapper.package}"/>
</mappers>
完全な mybatis-config.xml ファイルは次のようになるはずです。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- db.properties ファイルからのプロパティをインポート -->
<properties resource="db.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- インポートされたプロパティを使用してデータベース接続を構成 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- SQL マッピングファイルを登録 -->
<mappers>
<package name="${mapper.package}"/>
</mappers>
</configuration>
これで、データベース構成は db.properties ファイルに保存され、mybatis-config.xml ファイルは db.properties で定義されたプロパティを使用してデータベース接続を構成します。
テストケースを実行する
テストケースを実行するには、次の手順に従います。
- ターミナルで、次のコマンドを使用して
MyBatisPropertiesProjectプロジェクトディレクトリに移動します。
cd ~/project/MyBatisPropertiesProject/
- 次のコマンドを実行してテストケースを実行します。
mvn test
出力は次のようになるはずです。
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.labex.test.MyBatisTest
Data deleted successfully
Data inserted successfully
[コース番号:1 コース名:データ構造 担当教員:John Smith, コース番号:2 コース名:Java 担当教員:Mary Johnson, コース番号:3 コース名:Python 担当教員:David Brown, コース番号:4 コース名:C++ 担当教員:Jennifer Davis, コース番号:6 コース名:C 担当教員:Michael Wilson, コース番号:8 コース名:人工知能 担当教員:Emily Thompson]
Data updated successfully
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.1 sec
これは、テストクラスが MyBatis を使用して Course という名前のデータベーステーブルに対して CRUD 操作(選択、挿入、更新、削除操作)を行っていることを示しています。
まとめ
おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabEx でさらに多くの実験を行って練習してください。



