mybatis-plus代码生成器

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了mybatis-plus代码生成器脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
序号类型地址
1MySQLMySQL操作之概念、SQL约束(一)
2MySQLMySQL操作之数据定义语言(DDL)(二)
3MySQLMySQL操作之数据操作语言(DML)(三)
4MySQLMySQL操作之数据查询语言F1a;(DQL)(四-1)(单表操作)
5MySQLMySQL操作之数据查询语言:(DQL)(四-2)(多表查询)
6MySQLMySQL操作之数据控制语言:(DC)(五)
7MySQLMySQL管理之数据类型
8MySQLMySQL管理之索引
9MySQLMySQL管理之事务管理
10MySQLMySQL管理之存储过程
11MySQLMySQL管理之视图
12MySQLMySQL管理之数据备份与还原
13MySQLLinux(centos 7.5)服务器安装MySQL
14MyBatisMyBatis从入门到多表关联
15MyBatisMyBatis常用方法
16MyBatisMybatis逆向工程的使用(附文件地址)
17MyBatissPRing boot连接Mybatis数据库的配置文件(MySql、SQLserver、oracle)
18MyBatis-PlusMybatis-Plus使用案例(包括初始化以及常用插件)
19MyBatis-Plusmybatis-plus代码生成器

文章目录

    • 一、新版代码生成器
      • 1、项目案例
      • 2、需要更新位置
      • 3、项目目录结构
    • 二、新版自定义模板生成
      • 1、项目案例
      • 2、原理
    • 二、旧版代码生成器
      • 1、pom.XMl
      • 2、执行文件代码
      • 3、需要修改的位置
      • 4、各配置与项目位置关系
      • 5、测试
      • 6、项目码包


一、新版代码生成器

1、项目案例

案例地址

https://download.csdn.net/download/weixin_44624117/68253214

2、需要更新位置

2.1 数据库连接信息

  <1> 数据库连接信息 ======================================
String url = "jdbc:mysql://127.0.0.1:3306/test";
String username = "lydms";
String password = "test01";

2.2 代码生成位置

 <2> 代码生成位置 ==============================================
  .outputDir("D://generator/test"); // 指定输出目录

**2.3包名、项目名、mapPEr路径 **

<3> 包名、项目名、mapper路径 ==============================================
builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名
.moduleName("System") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://generator/test/mapper")); // 设置mapperXml生成路径

2.4 生成的表名

<4> 生成的表名  ======================================================
builder.addInclude("lydms_test") // 设置需要生成的表名

3、项目目录结构

  1. 数据库配置(DataSourceconfig)
  2. 全局配置(GlobalConfig)
  3. 包配置(PackageConfig)
  4. 模板配置(TemplateConfig)
  5. 注入配置(InjectionConfig)
  6. 策略配置(StrategyConfig) 6.1 EntITy 策略配置 6.2 Controller 策略配置 6.3 Service 策略配置 6.4 Mapper 策略配置

二、新版自定义模板生成

1、项目案例

案例地址

https://download.csdn.net/download/weixin_44624117/68977724

2、原理

其生成是取的resource中的模板进行生成的。

mybatis-plus代码生成器

指定enableLombok() 模型生成的注解的类型

mybatis-plus代码生成器

生成的文件

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("lydms_test_conf")
public class LydmsTestConf {

    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    @TableField("conf_id")
    private String confId;

    @TableField("conf_value")
    private String confValue;

    @TableField("create_time")
    private String createTime;

    @TableField("update_time")
    private String updateTime;
}

二、旧版代码生成器

1、pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/> <!-- lookup parent From repository -->
    </parent>
    <groupId>com.lydms</groupId>
    <artifactId>auto-mybatis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>auto-mybatis</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency> <!--mybatis-plus的springboot支持-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.1</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency> <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-LOG4j12</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

2、执行文件代码

import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MysqlGenerator {

    /**
     * 读取控制台内容
     *
     * @param tip
     * @return
     */
    public static String scanner(String tip) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder help = new StringBuilder();
        help.append("请输入" + tip + ":");
        System.out.println(help.toString());
        if (scanner.hasNext()) {
            String ipt = scanner.next();

            if (StringUtils.isNotEmpty(ipt)) {
                return ipt;
            }
        }
        throw new MybatisPlusException("请输入正确的" + tip + "!");
    }

    /**
     * RUN THIS
     *
     * @param args
     */
    public static void main(String[] args) {
// 代码生成器
        AutoGenerator mpg = new AutoGenerator();
// 全局配置 1、代码路径(setAuthor、setOutputDir)
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/auto-mybatis/src/main/java");
        gc.setAuthor("lydms");
        gc.setOpen(false);
        mpg.setGlobalConfig(gc);

// 数据源配置 2、数据库连接信息
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://10.128.99.02:3306/test?useUnicode=true&amp;useSSL=false&characterEncoding=utf8");
// dsc.setSchemaName("public");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);

// 包配置 3、模块名
        PackageConfig pc = new PackageConfig();
        pc.setModuleName(scanner("模块名"));
        pc.setParent("com.lydms.automybatis");
        mpg.setPackageInfo(pc);
// 自定义配置
        InjectionConfig CFg = new InjectionConfig() {
            @override
            public void initMap() {
// to do nothing
            }
        };
        List<FileOutConfig> focList = new ArrayList<>();
        focList.add(new FileOutConfig("/templates/mapper.xml.ftl") {
            @Override
            public String outputFile(TableInfo tableInfo) {
// 自定义输入文件名称
                return projectPath + "/auto-mybatis/src/main/resources/mapper/" + pc.getModuleName()
                        + "/" + tableInfo.getEntityName() + ";mapper" + StringPool.DOT_XML;
            }
        });
        cfg.setFileOutConfigList(focList);
        mpg.setCfg(cfg);
        mpg.setTemplate(new TemplateConfig().setXml(null));
// 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);


//strategy.setSuperEntityClass("com.baomidou.mybatisplus.samples.generator.COMmon.BaseE ntity");
        strategy.setEntityLombokModel(true);

//strategy.setSuperControllerClass("com.baomidou.mybatisplus.samples.generator.common.B aseController");
        strategy.setInclude(scanner("表名"));
        strategy.setSuperEntityColumns("id");
        strategy.setControllerMappingHyphenStyle(true);
        strategy.setTablePrefix(pc.getModuleName() + "_");
        mpg.setStrategy(strategy);

// 选择 freemarker 引擎需要指定如下加,注意 pom 依赖必须有!
        mpg.setTemplateEngine(new FreemarkerTemplateEngine());
        mpg.execute();
    }
}

3、需要修改的位置

一共需要修改三个位置。

  1. 代码路径
// 全局配置 1、代码路径(setAuthor、setOutputDir)
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/auto-mybatis/src/main/java");
        gc.setAuthor("lydms");
        gc.setOpen(false);
        mpg.setGlobalConfig(gc);
  1. 数据库连接信息(数据库连接地址和账号密码)
// 数据源配置 2、数据库连接信息
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://10.128.99.02:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);
  1. 模块名称
// 包配置 3、模块名
        PackageConfig pc = new PackageConfig();
        pc.setModuleName(scanner("模块名"));
        pc.setParent("com.lydms.automybatis");
        mpg.setPackageInfo(pc);

4、各配置与项目位置关系

mybatis-plus代码生成器

5、测试

启动之前项目目录结构:

mybatis-plus代码生成器

需要输入模块名和数据库表名:

请输入模块名:
test
请输入表名:
account
15:01:53.868 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================准备生成文件...==========================

生成的文件结果:

mybatis-plus代码生成器

6、项目源码包

源码

https://download.csdn.net/download/weixin_44624117/20450700

脚本宝典总结

以上是脚本宝典为你收集整理的mybatis-plus代码生成器全部内容,希望文章能够帮你解决mybatis-plus代码生成器所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。