分布式springboot 3项目集成mybatis官方生成器开发记录

文章目录

  • 说明
  • 实现思路
  • 实现步骤
    • 第一步:创建generator子模块
    • 第二步:引入相关maven插件和依赖
    • 第三步:编写生成器配置文件
    • 第四步:运行·查看结果

说明

  • 该文章为作者开发学习记录,方便以后复习和交流
  • 主要内容为:分布式springboot3 项目集成mybatis官方生成器开发记录,创建单独的generator模块进行单表的domain、mapper和mapper.xml的内容生成
  • 这里以Mysql8为案例进行演示,如果你使用的MySQL5,请使用合适的mysql驱动和修改连接配置的driverClass为com.mysql.jdbc.Driver
  • 如果您要使用的话,请修改需要修改的内容和具体项目适配

实现思路

  1. 创建generator子模块
  2. 引入maven依赖和generator插件
  3. 编写生成器配置文件,运行generator子模块

实现步骤

第一步:创建generator子模块

  • generator子模块为普通的maven项目
    分布式springboot 3项目集成mybatis官方生成器开发记录_第1张图片

第二步:引入相关maven插件和依赖

  • 编辑generator子模块的pom依赖配置文件,添加如下内容(mysql8版本适用)
 <build>
        <plugins>
            
            <plugin>
                <groupId>org.mybatis.generatorgroupId>
                <artifactId>mybatis-generator-maven-pluginartifactId>
                <version>1.4.0version>
                <configuration>
                	
                    <configurationFile>src/main/resources/generator-config-x.xmlconfigurationFile>
                    <overwrite>trueoverwrite>
                    <verbose>trueverbose>
                configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysqlgroupId>
                        <artifactId>mysql-connector-javaartifactId>
                        <version>8.0.22version>
                    dependency>
                dependencies>
            plugin>
        plugins>

第三步:编写生成器配置文件

  • 在generator子模块中编写src/main/resources/generator-config-x.xml文件,参考内容如下:
  • 如果IDEA在文件头部的URL爆红,忽略即可
  • 填写具体的数据连接配置和子模块的名称

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="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">

        
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
        
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>

        
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        commentGenerator>

        
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/xxx?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8"
                        userId="xxx"
                        password="xxx">
        jdbcConnection>

        
        <javaModelGenerator targetProject="../相应的子模块名称/src/main/java"
                            targetPackage="com.yang.train.x.domain"/>

        
        <sqlMapGenerator targetProject="../相应的子模块名称/src/main/resources"
                         targetPackage="mapper"/>

        
        <javaClientGenerator targetProject="../相应的子模块名称/src/main/java"
                             targetPackage="com.yang.train.x.mapper"
                             type="XMLMAPPER"/>

        <table tableName="x" domainObjectName="x"/>
        
        
    context>
generatorConfiguration>

第四步:运行·查看结果

  • 打开IDEA右侧的maven窗口,选择生成器插件点击运行即可
    分布式springboot 3项目集成mybatis官方生成器开发记录_第2张图片
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< com.yang:train-generator >----------------------
[INFO] Building train-generator 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- mybatis-generator-maven-plugin:1.4.0:generate (default-cli) @ train-generator ---
[INFO] Connecting to the Database
[INFO] Introspecting table x
[INFO] Generating Example class for table x
[INFO] Generating Record class for table x
[INFO] Generating Mapper Interface for table x
[INFO] Generating SQL Map for table x
[INFO] Saving file xMapper.xml
[INFO] Saving file xExample.java
[INFO] Saving file x.java
[INFO] Saving file xMapper.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.204 s
[INFO] Finished at: 2024-02-07T12:30:58+08:00
[INFO] ------------------------------------------------------------------------

你可能感兴趣的:(#,mybatis,分布式,spring,boot,mybatis)