详解在springboot中使用Mybatis Generator的两种方式

下面我将详细讲解“详解在springboot中使用Mybatis Generator的两种方式”的完整攻略。

一、前置条件

在使用Mybatis Generator之前,我们需要先满足以下几个前置条件:

  1. 安装Maven和JDK,在此不再赘述;
  2. 在项目中引入依赖mybatis-generator-coremysql-connector-java,可以在pom.xml中进行以下配置:
<dependencies>
    <!-- mybatis-generator依赖 -->
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.7</version>
    </dependency>
    <!--mysql驱动依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.19</version>
    </dependency>
</dependencies>

二、方式一:使用插件生成Mapper

1. 添加Mybatis Generator插件

pom.xml文件中加入以下配置:

<build>
    <plugins>
        <!-- MyBatis Generator 插件 -->
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.7</version>
            <configuration>
                <!--插件所需配置参数-->
            </configuration>
            <executions>
                <execution>
                    <id>Generate MyBatis Artifacts</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <!--插件配置结束-->
    </plugins>
</build>

2. 配置Mybatis Generator插件

maven插件mybatis-generator-maven-plugin中进行配置:

<configuration>
    <!--配置数据库基本信息-->
    <driverClass>com.mysql.jdbc.Driver</driverClass>
    <connectionURL>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC</connectionURL>
    <userId>root</userId>
    <password>xxxxxx</password>
    <!--指定表,tableName就是指定你要生成的表的名字,可以多个,用“,”分开与<table>配置仅需使用一种-->
    <tableNames>user,role</tableNames>
    <!--指定生成文件的目录,以targetProject为首路径-->
    <targetProject>src/main/java</targetProject>
    <!--指定的根包名-->
    <targetPackage>com.example.demo.entity</targetPackage>
    <!--启用或禁用注释,默认启用-->
    <commentGenerator>
        <property name="suppressAllComments" value="false"/>
    </commentGenerator>
    <!--生成类型-->
    <generatorConfigurations>
        <!--通用mybatis模板-->
        <generatorConfiguration>
            <!-- xml格式 -->
            <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
            <!-- java格式 -->
            <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
        </generatorConfiguration>
    </generatorConfigurations>
</configuration>

3. 运行插件

配置完成后,就可以执行以下maven命令了:

mvn mybatis-generator:generate

运行完后,就可以在对应的文件夹中看到生成的Mapper文件。

方式二:使用Java代码生成Mapper

首先,定义一个Generator类,实现Mybatis Generator接口org.mybatis.generator.api.MyBatisGenerator,具体实现过程可以参考以下代码:

public class Generator implements MyBatisGenerator {
    private List<Context> contexts;

    @Override
    public void generate(
            null,
            ProgressCallback progressCallback,
            List<GeneratedJavaFile> javaFiles,
            List<GeneratedXmlFile> xmlFiles,
            List<String> warnings) throws InterruptedException, SQLException, IOException {
        try {
            ConfigurationParser cp = new ConfigurationParser(warnings);
            Configuration config = cp.parseConfiguration(new File("generatorConfig.xml"));
            DefaultShellCallback callback = new DefaultShellCallback(true);
            MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
            myBatisGenerator.generate(progressCallback, contexts, javaFiles, xmlFiles, warnings);
            System.out.println("生成Mapper成功!");
            System.out.println("Success");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void setContexts(List<Context> contexts) {
        this.contexts = contexts;
    }
}

然后,我们需要在mavenpom.xml中引入依赖mybatis-generator-core

<dependencies>
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.7</version>
    </dependency>
</dependencies>

接着,在main方法中编写以下代码:

public static void main(String[] args) {
    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    String genCfg = "generatorConfig.xml";
    File configFile = new File(genCfg);
    ConfigurationParser cp = new ConfigurationParser(warnings);
    Configuration config;
    try {
        config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
        System.out.println("生成Mapper成功!");
    } catch (IOException e) {
        e.printStackTrace();
    } catch (XMLParserException e) {
        e.printStackTrace();
    } catch (InvalidConfigurationException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

配置完成后,就可以运行Java代码生成Mapper文件了。

以上就是在Spring Boot中使用Mybatis Generator的两种方式的详细攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解在springboot中使用Mybatis Generator的两种方式 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • maven打包如何指定jdk的版本

    Maven是一个非常流行的Java项目管理和构建工具。在使用Maven进行代码打包时,我们经常遇到需要指定JDK版本的情况。接下来,我将详细介绍在Maven中如何指定JDK版本。 方式一:在pom.xml文件中指定JDK版本 可以在Maven项目的pom.xml文件中指定JDK版本,这样在构建项目时就可以使用特定版本的JDK。可以使用以下示例代码来指定JDK…

    Java 2023年5月19日
    00
  • javaweb中mysql数据库连接步骤方法及其实例

    下面是“javaweb中mysql数据库连接步骤方法及其实例”的完整攻略。 步骤一:下载并安装MySQL 这一步很简单,直接去MySQL官网下载MySQL安装包,并按照安装向导进行安装。 步骤二:创建数据库和数据表 在安装好MySQL后,通过MySQL的客户端命令行或者图形界面工具(如Navicat等)连接MySQL并创建一个新的数据库,然后在该数据库下创建…

    Java 2023年5月19日
    00
  • SpringBoot特点之依赖管理和自动装配(实例代码)

    SpringBoot特点之依赖管理和自动装配(实例代码) 依赖管理 Spring Boot的依赖管理采用了“约定优于配置”的原则,省去了繁琐的依赖配置。Spring Boot通过Starter POMs来管理依赖,Starter POMs是一种特殊的POM文件,包含了一系列相关的依赖,我们只需要添加相应的Starter POM,即可快速地集成一些常用的依赖。…

    Java 2023年5月15日
    00
  • 自定义类加载器的作用是什么?

    自定义类加载器的作用: Java类在运行时是需要被加载的。默认情况下,Java虚拟机会使用以下三种类加载器来加载类: Bootstrap ClassLoader:负责加载Java的核心类,如java.lang.Object等。 Extension ClassLoader:负责加载Java扩展库,如javax.*等。 Application(Class) Cl…

    Java 2023年5月10日
    00
  • Mybatis常见注解有哪些(总结)

    那么关于“Mybatis常见注解有哪些”,我建议从以下几个方面进行总结: 1. 增删改查注解 在Mybatis中,经常用到的增删改查操作,是可以使用注解方式进行实现的。其中常见的注解有: @Insert: 插入数据,通常与Mapper.xml文件中的Insert标签对应。 @Update: 更新数据,通常与Mapper.xml文件中的Update标签对应。 …

    Java 2023年5月19日
    00
  • Springboot集成jsp及部署服务器实现原理

    下面我会详细讲解“Springboot集成jsp及部署服务器实现原理”的完整攻略。 1. 集成jsp Spring Boot默认不支持JSP视图,但我们可以通过添加相关依赖和配置来实现JSP视图的支持。 添加相关依赖和配置 在pom.xml文件中添加以下依赖: <dependency> <groupId>org.apache.tomc…

    Java 2023年6月15日
    00
  • 关于kafka消费不到远程bootstrap-server 数据的问题

    针对关于kafka消费不到远程bootstrap-server数据的问题,我整理了以下完整攻略: 1. 验证Bootstrap server是否配置正确 1.1 查看Producer的bootstrap-server配置,确认正确,示例代码如下: #Producer properties bootstrap.servers=remote-kafka-host…

    Java 2023年5月20日
    00
  • Java swing 图像处理多种效果实现教程

    Java Swing是Java编程语言专为创建GUI(图形用户界面)设计的一种界面工具包。在Java Swing中,可以使用其图像处理功能实现许多效果。下面是“Java Swing图像处理多种效果实现教程”的完整攻略。 1. 导入Java Swing库 在Java项目文件中,需要导入Java Swing库以便使用其图像处理功能。可以在代码中写入以下代码: i…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部