目的
MyBatis Generatorを利用し、MapperやEntityの自動生成を行った際に発生する下記エラーを解消します。
console
Project src does not exist
エラー時のGenerator設定ファイル
generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<classPathEntry location="C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.30.jar" />
<context id="context">
<!-- JDBCの設定 -->
<jdbcConnection
driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db_name"
userId="root"
password="[password]"
/>
<!-- 自動生成するエンティティの設定 -->
<javaModelGenerator
targetPackage="com.sample.sampleProject.entity"
targetProject="src/main/java/"
/>
<sqlMapGenerator
targetPackage="com.sample.sampleProject"
targetProject="src/main/resources/"
/>
<javaClientGenerator
targetPackage="com.sample.sampleProject.repository"
targetProject="src/main/java/"
type="XMLMAPPER"
/>
<!-- 生成対象のテーブル -->
<table schema="db_name" tableName="TRN_SAMPLE_TABLE" />\
</context>
</generatorConfiguration>
MyBatis Generator構築中の参考記事
実行まではこちらの記事を参考にしました。
使用技術・バージョン情報
使用技術 | バージョン |
---|---|
Spring Boot | 2.7.2 |
Java | 11 |
MyBatis | 3.5.10 |
mybatis-generator | 1.3.1 |
MySQL | 8.0.30 |
私の場合、その他の環境は以下の通りです。
ツール | 技術 |
---|---|
エディター | Eclipse |
ビルドツール | maven |
解消方法
私の場合はこれで解決しました。
generatorConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
<classPathEntry location="C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.30.jar" />
<context id="context">
<!-- JDBCの設定 -->
<jdbcConnection
driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db_name"
userId="root"
password="[password]"
/>
<!-- 自動生成するエンティティの設定 -->
<javaModelGenerator
targetPackage="com.sample.sampleProject.entity"
- targetProject="src/main/java/"
+ targetProject="sampleProject"
/>
<sqlMapGenerator
targetPackage="com.sample.sampleProject"
- targetProject="src/main/java/"
+ targetProject="sampleProject"
/>
<javaClientGenerator
targetPackage="com.sample.sampleProject.repository"
- targetProject="src/main/java/"
+ targetProject="sampleProject"
type="XMLMAPPER"
/>
<!-- 生成対象のテーブル -->
<table schema="db_name" tableName="TRN_SAMPLE_TABLE" />\
</context>
</generatorConfiguration>
sampleProject
はプロジェクト名です。
原因としてはtargetProject
の値がプロジェクト名になっていなかったことのようです。
そのため、Project does not exist
(プロジェクトが存在しない)とエラーを吐いていました。
エラー時の記載は、MyBatis Generatorに関する記事にてこのような書き方が多かったため、"src/main/java/"
のように記載していました。それで試していたところエラーになっていたということです。
つまりこのtargetProject
の値は、その名の通りプロジェクト名を入力しておくべき項目のようです。
関連記事
MyBatis Generator利用のメリット・デメリット(後日投稿予定)