使用mybatis-plus-generator进行代码自动生成的方法

首先,我们需要了解一下mybatis-plus-generator的基本概念和用法。

mybatis-plus-generator是mybatis-plus框架中的一个代码自动生成工具,它能够根据数据库中的表结构自动生成实体类、Mapper接口、以及对应的XML文件等。使用mybatis-plus-generator可以大大提高我们的开发效率。

一、配置mybatis-plus-generator依赖

在使用mybatis-plus-generator之前,我们需要在项目中引入对应的依赖,比如:

<!--引入mybatis-plus-generator依赖-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.3</version>
</dependency>

二、配置生成代码所需的参数

在项目中配置好mybatis-plus-generator依赖之后,我们还需要在项目中添加一个配置文件,用于设置代码生成的相关参数。一般而言,我们可以使用yml文件或者properties文件来进行配置。

以下是一个基本的配置文件示例:

# 数据库配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username: root
    password: 123456

# mybatis-plus配置
mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: deleted
      id-type: auto
      logic-delete-value: 1
      logic-not-delete-value: 0
  generator:
    outputDir: D:/workspace/mybatis-plus-generator
    author: yourname
    fileOverride: true
    open: false
    basePackage: com.example.mybatisplus
    mapperPackage: mapper
    xmlPackage: mapper.xml
    servicePackage: service
    serviceImplPackage: service.impl
  auto-fill:
    enable: true
    create: false
    update: false
    delete: false
  strategy:
    tablePrefix: tb_
    naming:
      columnNaming: no_change
    exclude:
      # 排除的表名
      - tb_user_log

其中,主要要关注的是generator节点的配置,我们可以通过配置该节点下的属性来控制代码生成的路径、作者、是否覆盖等相关信息。

三、运行mybatis-plus-generator生成代码

在完成配置文件的配置之后,我们就可以启动mybatis-plus-generator来自动生成代码了。一般情况下,我们可以编写一个启动类,然后在该启动类中调用mybatis-plus-generator的API来生成代码。

以下是一个基本的示例启动类:

package com.example.mybatisplus.generator;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfigUtils;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

/**
 * mybatis-plus-generator代码自动生成启动类
 */
public class MybatisPlusGeneratorApplication {

    public static void main(String[] args) {
        // 1.创建代码生成器
        AutoGenerator autoGenerator = new AutoGenerator();

        // 2.设置数据源
        autoGenerator.setDataSource(new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false", "root", "123456").driver(DbType.MYSQL.getDriverClassName()).build());

        // 3.设置全局配置
        GlobalConfig globalConfig = GlobalConfigUtils.getDefaultGlobalConfig();
        globalConfig.setAuthor("yourname");
        globalConfig.setOutputDir("D:/workspace/mybatis-plus-generator");
        globalConfig.setFileOverride(true);
        globalConfig.setOpen(false);
        globalConfig.setIdType(IdType.AUTO);
        globalConfig.setDateType(DateType.ONLY_DATE);
        autoGenerator.setGlobalConfig(globalConfig);

        // 4.设置包名配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example.mybatisplus");
        packageConfig.setMapper("mapper");
        packageConfig.setXml("mapper.xml");
        packageConfig.setEntity("entity");
        packageConfig.setService("service");
        packageConfig.setServiceImpl("service.impl");
        autoGenerator.setPackageInfo(packageConfig);

        // 5.设置策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("tb_user");
        strategyConfig.setTablePrefix("tb_");
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.no_change);
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setLogicDeleteFieldName("deleted");
        strategyConfig.setVersionFieldName("version");
        autoGenerator.setStrategy(strategyConfig);

        // 6.选择freemarker模板引擎
        autoGenerator.setTemplateEngine(new FreemarkerTemplateEngine());

        // 7.执行代码生成操作
        autoGenerator.execute();
    }
}

在启动该启动类之后,mybatis-plus-generator就会根据我们的配置文件来生成对应的代码。

以上便是使用mybatis-plus-generator进行代码自动生成的完整攻略。下面给出两个实际的示例说明。

示例1:生成单表的CURD代码

假设我们有一张名为tb_user的表,我们可以通过以下配置来生成对应的CURD代码:

mybatis-plus:
  generator:
    outputDir: D:/workspace/mybatis-plus-generator
    author: yourname
    fileOverride: true
    open: false
    basePackage: com.example.mybatisplus
    mapperPackage: mapper
    xmlPackage: mapper.xml
    servicePackage: service
    serviceImplPackage: service.impl
  strategy:
    tablePrefix: tb_
    naming:
      columnNaming: no_change

其中,我们只需要设置需要生成代码的表名即可:

StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("tb_user");

示例2:生成多表的代码

假设我们有多张表需要生成对应的代码,我们可以通过以下配置来实现:

mybatis-plus:
  generator:
    outputDir: D:/workspace/mybatis-plus-generator
    author: yourname
    fileOverride: true
    open: false
    basePackage: com.example.mybatisplus
    mapperPackage: mapper
    xmlPackage: mapper.xml
    servicePackage: service
    serviceImplPackage: service.impl
  strategy:
    tablePrefix: tb_
    naming:
      columnNaming: no_change
    include:
      - tb_user
      - tb_role

其中,我们只需要在include节点下添加需要生成代码的表名即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用mybatis-plus-generator进行代码自动生成的方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • JSP制作简单登录界面实例

    下面是在JSP中制作简单登录界面的完整攻略。 步骤1:创建JSP页面 首先,创建一个简单的JSP页面来显示登录表单。在该页面中添加必要的元素,如用户名、密码、提交按钮等。 示例代码: <!DOCTYPE html> <html> <head> <title>Login Page</title> &l…

    Java 2023年6月15日
    00
  • JSP教程(四)-JSP Actions的使用

    下面是“JSP教程(四)-JSP Actions的使用”的完整攻略。 一、JSP Actions概述 JSP Actions是一种特殊的标记,它提供了一些特殊的操作和功能,可以让我们更加灵活地控制JSP页面的生成过程。JSP Actions可以分为以下三类: 动作标签(Action Tags) JSP指令(Directive) 注释标签(Comment Ta…

    Java 2023年6月15日
    00
  • Java基础之ArrayList的扩容机制

    Java基础之ArrayList的扩容机制 ArrayList简介 在Java中,ArrayList是一种常见的数据结构之一。它继承了AbstractList这个类,并且实现了List接口。ArrayList是基于数组实现的,可以动态地增加或减少数组的大小,所以可以自动扩容和缩容。 扩容机制 ArrayList的扩容机制指的是当ArrayList内部的元素个…

    Java 2023年5月26日
    00
  • IDEA项目的依赖(pom.xml文件)导入问题及解决

    下面是详细讲解 IDEA 项目的依赖(pom.xml 文件)导入问题及解决的完整攻略。 一、什么是 pom.xml 文件 pom(Project Object Model)文件是 Maven 中的一个核心概念,也是 Java 项目管理中的重要组成部分。pom.xml 文件主要用来描述 Maven 项目的基本信息、构建信息、依赖信息。 通常情况下,我们在使用 …

    Java 2023年5月20日
    00
  • Java实现中国象棋游戏

    Java实现中国象棋游戏攻略 1. 概述 本攻略主要介绍如何使用Java语言实现中国象棋游戏。将分为以下几个部分: 实现界面和交互 实现棋局数据和规则 实现人机交互功能 2. 实现界面和交互 实现游戏界面和交互模块可以使用Swing/AWT的图形界面库,实现如下功能: 显示当前棋局 实现棋子移动交互 实现游戏结束时弹出对话框 下面是一个简单的Swing界面实…

    Java 2023年5月19日
    00
  • Linux下Tomcat8如何修改JVM内存配置

    下面是详细的攻略: 准备工作 在修改Tomcat JVM内存配置之前,需要先确认是否已经安装了JDK。如果尚未安装,请先安装。安装JDK的详细步骤可以参考JDK安装指南。 修改JVM内存配置 打开Tomcat安装目录下的bin文件夹,并找到catalina.sh文件。 打开catalina.sh文件,在文件末尾添加以下代码: JAVA_OPTS=”-Xms5…

    Java 2023年5月20日
    00
  • java生成指定范围随机数的多种代码

    下面是“java生成指定范围随机数”的完整攻略: 1. 使用java.util.Random类生成随机数 使用java.util.Random类可以生成随机数,这个类提供了一系列的方法来生成数字、布尔值和伪随机字节流。 代码示例1:生成指定范围的随机数 下面是一个例子,生成指定范围内的随机数: import java.util.Random; public …

    Java 2023年5月26日
    00
  • Spring MVC全局异常处理和单元测试_动力节点Java学院整理

    Spring MVC是一种流行的Java Web框架,其拥有全局异常处理机制,可以在程序抛出异常后,统一处理并返回指定的错误信息。本篇攻略主要包含两部分内容,分别是Spring MVC全局异常处理和单元测试。 一、Spring MVC全局异常处理 1.1 在Spring配置文件中配置异常处理拦截器 在Spring的配置文件中,可以配置一个全局的异常处理拦截器…

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