Резюме: обнаружена яма при использовании MyBatis Generator

Java

1. Что такое генератор MyBatis?

MyBatis Generator - это инструмент, который можно использовать для создания файлов Mybatis dao, entity, Mapper. Он может сэкономить много повторяющейся работы в процессе проекта. Нам нужно только настроить имя таблицы и пакет, который будет создан в конфигурации. имя файла MyBatis Generator., и выполнение одной команды создаст группу файлов.

Зачем использовать генератор MyBatis?


При использовании MyBatis, когда таблица все еще относительно мала, мы можем вручную написать dao, entity, mapper, соответствующий операции с таблицей, но поскольку таблиц становится все больше и больше, повторный код от руки — пустая трата времени, поэтому я используйте MyBatis Официальный плагин MyBatis Generator помогает нам автоматически генерировать файлы и коды.

Чтобы узнать, как использовать MyBatis Generator, вы можете обратиться кофициальная документация. Здесь я в основном рассказываю о некоторых ямах, с которыми я столкнулся при использовании этого плагина.

С какими подводными камнями вы столкнулись при использовании MyBatis Generator?


1. Когда плагин MyBatis Generator вводится в maven, плагин не всегда может отображаться в maven

В то время расположение плагина в файле pom.xml выглядело так:

<build>
        <pluginManagement>
            <plugins>
              <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
		<!-- MyBatis Generator插件 -->
               <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.2</version>
                    <configuration>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

В этом случае плагин MyBatis Generator не всегда может отображаться в Maven.Решение: поместите MyBatis Generator на тот же уровень, что и pluginManagement.код показывает, как показано ниже:

<build>
        <pluginManagement>
            <plugins>
              <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <!-- mybatis generator插件, 注意不能放在pluginManagement里面,要跟它同级别 -->
		<plugins>
			<plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
		</plugins>
    </build>

2, когда вы создаете файл в идее GeneratorConfig.xml, ошибка заголовка файла: URI не зарегистрирован (настроек | Языки и рамки | Schemas и DTD)

Как показано ниже:

Не паникуйте в этой ситуации, сама IDEA предоставила нам решения:

Итак, мы напрямую выбираемFetch external resourceВсе, если нет, то выбирай второеIgnore external resource, я решил это вторым способом!

Но некоторые друзья могут спросить, а как насчет третьего варианта? Я не пробовал и не знаю. -_-

3. mybatis-generator-maven-plugin: 1.3.4: сбой генерации: исключение при получении драйвера JDBC

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

Из сообщения об ошибке мы знаем, что не удается найти пакет драйвера JDBC.В настоящее время есть два решения:

(1) Настройте пакет драйвера MySQL отдельно в файле плагина.

<plugin>
    <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.2</version>
            <configuration>
                <verbose>true</verbose>
                <overwrite>true</overwrite>
            </configuration>
        <!-- 在plugin中单独依赖MySQL驱动包,解决找不到JDBC Driver的问题  -->
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.43</version>
            </dependency> 
        </dependencies>
            </plugin>

(2) Укажите расположение пакета драйвера в генератореConfig.xml.

<classPathEntry location="驱动包文件位置"/>

结束语:其实很多问题在发生的时候,IDE就已经在控制台给了我们提示,所以当我们遇到问题时,不要慌,认真看异常提示,耐心一点,问题总会被解决的!解决不了,还有Google呢。 ^ _ ^