SpringBoot整合mybatis-generator插件流程详细讲解

下面是SpringBoot整合mybatis-generator插件的详细攻略,我们将分为以下几个步骤进行操作:

  1. 添加mybatis-generator插件依赖
  2. 配置mybatis-generator插件
  3. 配置生成代码的输出路径和文件名
  4. 自动生成代码
  5. 示例展示

1. 添加mybatis-generator插件依赖

首先,我们需要在项目中添加mybatis-generator插件的依赖。在pom.xml文件中添加以下依赖:

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

2. 配置mybatis-generator插件

在pom.xml文件中添加以下这段代码,用来配置mybatis-generator插件:

<build>
    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.3.7</version>
            <executions>
                <execution>
                    <id>Generate MyBatis Artifacts</id>
                    <phase>deploy</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- 指定需要使用的数据库连接的配置文件 -->
                <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
                <!-- 如果需要在动态 SQL 中使用可替换的字段,可以在此处指定对应的 property -->
                <properties>
                    <property>
                        <name>useExample</name>
                        <value>false</value>
                    </property>
                </properties>
                <!-- 输出日志 -->
                <verbose>true</verbose>
                <!-- 是否覆盖 -->
                <overwrite>true</overwrite>
            </configuration>
        </plugin>
    </plugins>
</build>

3. 配置生成代码的输出路径和文件名

在项目中添加一个generator文件夹,然后在其中创建generatorConfig.xml文件,并在其中添加以下代码段:

<?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="Mysql" targetRuntime="MyBatis3">
        <!-- 配置数据源,可以配置多个数据源 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=UTC"
                        userId="root"
                        password="root">
        </jdbcConnection>
        <!-- 配置 domain model 类所在的包 -->
        <javaModelGenerator targetPackage="com.example.demo.domain" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 配置 mapper 接口所在的包 -->
        <sqlMapGenerator targetPackage="com.example.demo.dao.mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 配置 XML 文件所在的包 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 配置要生成的表,可以配置多个表 -->
        <table tableName="user" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false"/>
        <table tableName="product" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" selectByExampleQueryId="false"/>
    </context>
</generatorConfiguration>

4. 自动生成代码

执行命令 mvn mybatis-generator:generate 即可生成代码。

5. 示例展示

以一个SpringBoot项目为例,我们使用上述步骤生成代码。以下是user表和product表生成的示例:

  • 生成的User类
public class User {
    private Integer id;

    private String name;

    private Integer age;

    private String gender;

    private String phone;

    private String address;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender == null ? null : gender.trim();
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }
}
  • 生成的Product类
public class Product {
    private Integer id;

    private String name;

    private Double price;

    private Integer stock;

    private String description;

    private String imageUrl;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl == null ? null : imageUrl.trim();
    }
}

至此,我们成功的实现了SpringBoot整合mybatis-generator插件的自动代码生成过程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合mybatis-generator插件流程详细讲解 - Python技术站

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

相关文章

  • spring+hibernate 两种整合方式配置文件的方法

    下面是“spring+hibernate两种整合方式配置文件的方法”的完整攻略。 1. 环境准备 在开始之前,你需要确保已经安装好了以下环境: JDK 1.8+ Maven Spring Framework 5.x Hibernate 5.x MySQL Database 2. 整合方式一:基于Spring数据访问模块的整合 步骤一:创建Maven项目 在M…

    Java 2023年5月20日
    00
  • Java 执行CMD命令或执行BAT批处理方式

    下面就来详细讲解一下“Java 执行 CMD 命令或执行 BAT 批处理方式”的攻略。 1、执行 CMD 命令的示例 1.1、使用 Runtime 类执行 Java 中可以使用 Runtime 类来执行 CMD 命令或执行 BAT 批处理。下面是一个简单的示例程序,演示如何使用 Runtime 类执行 CMD 命令: import java.io.IOExc…

    Java 2023年5月23日
    00
  • hibernate关于session的关闭实例解析

    关于“hibernate关于session的关闭实例解析”的完整攻略,我会从以下几个方面进行详细讲解: 什么是Hibernate Session Session关闭的几种方式 Session关闭的示例讲解 1. 什么是Hibernate Session 在Hibernate中,Session是一个非常重要的概念,它代表着Java程序和数据库之间的一次会话。在…

    Java 2023年5月20日
    00
  • @OneToMany查询陷入循环引用的解决方案

    当在实体类中使用@OneToMany注解定义一对多关系时,会出现查询数据时陷入循环引用的问题,导致查询效率低下。以下是解决方案的完整攻略: 1. 方案一:使用@JsonIgnore解决循环引用 @JsonIgnore注解可以用来忽略在实体类之间的相互依赖关系。加上该注解后,在查询数据时就可以排除循环引用导致的无限循环。 public class User {…

    Java 2023年5月20日
    00
  • springboot集成springsecurity 使用OAUTH2做权限管理的教程

    Spring Boot是一个非常流行的Java开发框架,它可以帮助开发者快速构建Web应用程序。Spring Security是一个强大的安全框架,它可以帮助开发者实现身份验证、授权和安全管理。OAuth2是一种流行的授权协议,它可以帮助开发者实现安全的API访问和授权管理。以下是Spring Boot集成Spring Security使用OAuth2做权限…

    Java 2023年5月15日
    00
  • 如何基于SpringMVC实现断点续传(HTTP)

    基于SpringMVC实现断点续传(HTTP) 断点续传是指在文件传输过程中,如果传输中断,可以从中断处继续传输,而不需要重新传输整个文件。在本文中,我们将详细介绍如何基于SpringMVC实现断点续传(HTTP)。 步骤一:添加依赖 在使用SpringMVC框架之前,我们需要在项目中添加SpringMVC依赖。我们可以在pom.xml文件中添加以下依赖: …

    Java 2023年5月17日
    00
  • java 字符串相减(很简单的一个方法)

    Java中的字符串是不可修改的,也就是说,字符串变量一旦被创建,它的值就不能改变。因此,不能像数字那样直接相减。但是,可以使用一种简单的方法来实现字符串相减的效果。 具体来说,可以将一个字符串中的另一个字符串删除,实现字符串相减的效果。下面给出两个示例说明: 示例一: String str1 = "hello world"; String…

    Java 2023年5月26日
    00
  • C#中Socket与Unity相结合示例代码

    让我来详细讲解一下“C#中Socket与Unity相结合示例代码”的完整攻略。 一、为什么要在Unity中使用Socket? Unity是一款强大的跨平台游戏引擎,可用于开发3D和2D游戏。但是,Unity的网络通信功能比较薄弱,如果想实现一些具有高度联网性的游戏功能,就必须通过Socket在Unity中实现网络通信。 二、如何在Unity中使用Socket…

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