SpringBoot Graphic Tutorial 8 - SpringBoot Integrated MBG «Генератор кода»

Java
SpringBoot Graphic Tutorial 8 - SpringBoot Integrated MBG «Генератор кода»

Если у вас есть концепция полета в небе, у вас должна быть реализация приземления.

  • Концепция десять раз не так хороша, как код один раз, друг, я надеюсь, ты сможешь набрать все кодовые случаи в тексте один раз

  • Сначала лайк, потом смотри, вырабатывай привычку

Каталог статей серии графических руководств по SpringBoot

  1. SpringBoot Graphic Tutorial 1 «Концепция + ментальная карта случая» «Основная глава»
  2. Графический учебник SpringBoot 2 — использование журналов «logback» «log4j»
  3. SpringBoot Graphic Tutorial 3 - Интегрированный Jsp «Комплекс первой любви»
  4. Графический учебник SpringBoot 4 — SpringBoot реализует загрузку и скачивание файлов.
  5. SpringBoot Graphic Tutorial 5 — Использование Aop в SpringBoot
  6. Графический учебник SpringBoot 6 - использование фильтров в SpringBoot
  7. Графический учебник SpringBoot 7 - использование перехватчика SpringBoot

предисловие

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

Мир уже давно страдает от картографических файлов, поэтому Mybatis официально рекомендовал генератор кода Mybatis (MBG), чтобы спасти людей от катастрофы.

Генератор кода Mybatis

MBG

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

Официальный адрес документа:mybatis.org/generator/

SpringBoot интегрирует MBG

Код этой статьи будет выполняться в пустом проекте SpringBoot+Mybatis, при необходимости перейдите в репозиторий Git для скачивания:git ee.com/ice cream pe…

1. Импорт зависимостей

Использование MBG в SpringBoot требует импорта подключаемого модуля запуска MBG при импорте зависимостей MBG.
Зависимость от МБГ

<!--MybatisGenerator的依赖jar包-->
<dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.2</version>
        </dependency>

Плагин запуска для MBG

<!--MybatisGenerator的启动插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <!--jar包去生成对应类 需要连接数据库 数据连接的版本和项目中的一致-->
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.38</version>
                    </dependency>
                </dependencies>

                <configuration>
                    <!--MBG配置文件的路径 -->
                    <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>

Уведомление:

  1. Версия mysql-connector-java в плагине совпадает с номером версии в проекте.
  2. configurationFile настраивает адрес файла конфигурации MBG src/main/resources

2. Импортируйте и запишите файл конфигурации MBG.

После импорта зависимостей вам необходимо импортировать файл конфигурации MBG generateConfig.xml в каталог ресурсов SpringBoot.

Вот все содержимое и комментарии файла конфигурации

<?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>
    <context id="test" targetRuntime="MyBatis3">
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin>  
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> 
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin>

        <commentGenerator>
            <!-- 这个元素用来去除指定生成的注释中是否包含生成的日期 false:表示包含 -->
            <!-- 如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true -->
            <property name="suppressDate" value="true" />
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />

        </commentGenerator>

        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection
                driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost/demo"
                userId="root"
                password="123456">
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 生成实体类的包名和位置 -->
        <javaModelGenerator targetPackage="com.lu.entity"
            targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>

        <!--生成映射文件的包名和位置  com/lu/mapper-->
        <sqlMapGenerator targetPackage="mapper"
            targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>

        <!-- 生成DAO的包名和位置 mybatis两种开发模式 xml 注解式-->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.lu.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>

        <!-- 要生成哪些表 -->
        <table tableName="user" domainObjectName="User"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>



    </context>
</generatorConfiguration>

Сосредоточьтесь на конфигурации! ! !

В файле конфигурации есть конфигурация, которая требует от пользователей настройки в соответствии с их собственной ситуацией.

  1. Параметры подключения к базе данных Изменены на параметры подключения вашей собственной базы данных

  2. dao интерфейс сущностей класс сопоставления файла расположение структуры пакета конфигурации файла

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

  1. Настройте, какие таблицы генерировать, соответствующий интерфейс dao класса сущностей и файл сопоставления.

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

3. Сгенерируйте код, запустив плагин

Запустите плагин и сгенерируйте код следующим образом:

  • класс сущности

  • дао интерфейс

  • файл сопоставления

Суммировать

Советы. Адрес примера проекта кода в этой статье:git ee.com/ice cream pe…

Поздравляем с завершением этой главы и аплодисменты вам! Если эта статья была вам полезна, пожалуйста, помогите поставить лайк, прокомментировать, переслать, это очень важно для автора, спасибо.

Давайте еще раз рассмотрим цели обучения в этой статье.

  • Освойте использование MBG в SpringBoot

Чтобы узнать больше об использовании SpringBoot, продолжайте обращать внимание на эту серию руководств.

Просить внимания, просить лайки, просить переадресацию

Добро пожаловать в мою официальную учетную запись: Java Notes г-на Лу, которая будет обновлять графические руководства по технологии Java и видеоуроки, опыт изучения Java, опыт интервью по Java и опыт практической разработки Java в долгосрочной перспективе.