Использование mybatis-generator:generate для автоматического создания файлов Dao и Mapper сообщает об исключении: не удалось выполнить цель org.mybatis.generator:mybat

Вчера было сообщено об исключении при использовании mybatis-generator:generate для создания файлов Dao и Mapper: не удалось выполнить цель org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) в проекте XXX: Ресурс <properties> datasource.properties не существует, после некоторого анализа я поделюсь с вами решением.

Проблема описывается следующим образом: При выполнении mybatis-generator:generateкоманды возникла следующая информация об исключении:

Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate (default-cli) on project XXX: <properties> resource datasource.properties does not exist

Эта проблема обычно возникает из-за того, что MyBatis Generator не может найти указанный файл datasource.properties. Ниже я шаг за шагом представлю вам решение.

Шаг 1.  Подтвердите путь к файлу конфигурации.

Сначала вам необходимо подтвердить правильность пути к файлу конфигурации. MyBatis Generator необходимо найти файл datasource.properties, чтобы получить информацию о подключении к базе данных. Убедитесь, что правильный файл datasource.properties существует в каталоге src/main/resources проекта и содержит правильную информацию о подключении к базе данных. Если файл не существует или путь неверен, MyBatis Generator не сможет найти файл конфигурации, что приведет к исключению.

Шаг 2.  Настройте плагин MyBatis Generator

В файле pom.xml вашего проекта найдите mybatis-generator-maven-pluginраздел конфигурации плагина. В блок этого плагина <configuration>вам необходимо добавить <propertiesFile>элемент, чтобы указать правильный путь к файлу конфигурации. Например:

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
        <configurationFile>src/main/resources/mybatis-generator-config.xml</configurationFile>
        <propertiesFile>src/main/resources/datasource.properties</propertiesFile>
    </configuration>
</plugin>

В приведенной выше конфигурации <propertiesFile>элемент указывает путь к правильному файлу datasource.properties. Вам необходимо изменить путь к правильному местоположению файла в соответствии со структурой вашего проекта.

Шаг 3.  Восстановите файлы Dao и Mapper.

После завершения вышеуказанной настройки выполните mybatis-generator:generateкоманду еще раз, и исключение о том, что файл конфигурации не может быть найден, больше не будет сообщаться. MyBatis Generator прочитает правильный файл конфигурации и сгенерирует необходимые файлы Dao и Mapper.

Шаг 4.  Проверьте зависимости и номера версий.

Иногда проблемы с исключениями могут быть вызваны зависимыми библиотеками или несовпадающими номерами версий. Убедитесь, что все зависимости, связанные с MyBatis Generator в вашем проекте, настроены правильно, а номера версий соответствуют номерам версий плагинов.

Обычно в файл pom.xml необходимо добавить следующие зависимости:

<dependencies>
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.7</version>
    </dependency>
    <!-- MyBatis Generator -->
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.4.0</version>
    </dependency>
    <!-- 其他依赖项... -->
</dependencies>

Обязательно добавьте приведенный выше фрагмент кода в файл pom.xml и при необходимости измените номер версии.

Шаг 5.  Проверьте файлы конфигурации.

Если ни один из вышеперечисленных шагов не помог решить проблему, возможно, вам придется еще раз проверить конфигурацию в файле mybatis-generator-config.xml. Убедитесь, что в вашем файле конфигурации правильно указаны пути к целевым пакетам сгенерированных Dao и Mapper, информация о подключении к базе данных и отношения сопоставления между таблицами.

В файле mybatis-generator-config.xml должна содержаться конфигурация, подобная следующей:

<jdbcConnection>
    <!-- 数据库连接信息 -->
    <driverClass>com.mysql.jdbc.Driver</driverClass>
    <connectionURL>jdbc:mysql://localhost:3306/mydatabase</connectionURL>
    <userId>root</userId>
    <password>password</password>
</jdbcConnection>

<!-- 目标包路径 -->
<javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java">
    <!-- 其他配置项... -->
</javaModelGenerator>

<sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources">
    <!-- 其他配置项... -->
</sqlMapGenerator>

<javaClientGenerator targetPackage="com.example.dao" targetProject="src/main/java" type="XMLMAPPER">
    <!-- 其他配置项... -->
</javaClientGenerator>

<!-- 表的映射 -->
<table tableName="user" domainObjectName="User">
    <!-- 其他配置项... -->
</table>

Пожалуйста, настройте приведенные выше конфигурации в соответствии с потребностями вашего проекта, чтобы убедиться, что они соответствуют вашей реальной ситуации.

Шаг 6.  Очистите проект и пересоберите его.

Если вы по-прежнему получаете исключение, попробуйте очистить проект и восстановить файлы Dao и Mapper. Очистить проект можно следующей командой:

mvn clean

Затем выполните mybatis-generator:generateкоманду еще раз.

Я надеюсь, что мой рассказ будет полезен всем.

Guess you like

Origin blog.csdn.net/liuqingup/article/details/131570118