MyBatis-Plus代码生成器开箱即用

MyBatis-Plus代码生成器使用

  • 依赖
  • 创建生成器代码
    • 注意
  • 生成

依赖

新建一个项目;

<dependency>
    <groupId>com.baomidougroupId>
    <artifactId>mybatis-plus-generatorartifactId>
    <version>3.5.9version>
dependency>
<dependency>
    <groupId>log4jgroupId>
    <artifactId>log4jartifactId>
    <version>1.2.17version>
dependency>
<dependency>
    <groupId>com.baomidougroupId>
    <artifactId>mybatis-plus-spring-boot3-starterartifactId>
    <version>3.5.9version>
dependency>
<dependency>
    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>8.0.33version>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-freemarkerartifactId>
dependency>
<dependency>
    <groupId>org.projectlombokgroupId>
    <artifactId>lombokartifactId>
dependency>

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
dependency>

创建生成器代码

package cn.sh.erp;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Types;

/**
 * @Author song
 * @Version 0.0.1
 * @Date 2024/12/9 18:16
 * @Contact [email protected]
 */
public class CodeGenerator {
    public static void main(String[] args) {

        Path path = Paths.get("D:\\javaPrj\\JavaWeb\\wangERP\\mybatisPlus_generator2024");

        FastAutoGenerator.create("jdbc:mysql://localhost:3306/erp_wang?characterEncoding=utf8&useSSL=false&serverTimeZone=GMT%2B8&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true",
                        "root",
                        "root")
                .globalConfig(builder -> builder
                        .author("sh")
                        .outputDir(path + "/src/main/java")
                        .commentDate("yyyy-MM-dd")
                        .disableOpenDir()
                )
                .dataSourceConfig(builder ->
                        builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
                            int typeCode = metaInfo.getJdbcType().TYPE_CODE;
                            if (typeCode == Types.SMALLINT || typeCode == Types.TINYINT) {
                                // 自定义类型转换
                                return DbColumnType.INTEGER;
                            }
                            return typeRegistry.getColumnType(metaInfo);
                        })
                )
                .packageConfig(builder -> builder
                        .parent("cn.sh.erp")
                        .entity("entity")
                        .mapper("mapper")
                        .service("service")
                        .serviceImpl("service.impl")
                        .xml("mapper.xml")
                )
                .strategyConfig(builder -> builder
                        .enableCapitalMode() // 开启大写命名
                        .addInclude("t_out_stock")
                        .addTablePrefix("t_", "c_") // 增加过滤表前缀
                        .addFieldSuffix("_flag") // 增加过滤字段后缀
                        .entityBuilder()
                        .enableFileOverride()  //启用文件覆盖写
                        .enableLombok()
                        .enableTableFieldAnnotation() // 启用字段注解
                        .controllerBuilder()
                        .enableRestStyle() // 启用 REST 风格
                        .enableFileOverride()
                        .serviceBuilder()
                        .enableFileOverride()
                        .mapperBuilder()
                        .enableFileOverride()
                )
                .templateEngine(new FreemarkerTemplateEngine())
                .execute();
    }
}

注意

改成自己的项目目录,
MyBatis-Plus代码生成器开箱即用_第1张图片
下方改成自己的数据库连接,账号密码。
在这里插入图片描述
下方改成自己的包名。
MyBatis-Plus代码生成器开箱即用_第2张图片
下方输入自己的表名,
MyBatis-Plus代码生成器开箱即用_第3张图片

生成

直接运行main函数即可。

你可能感兴趣的:(MyBatis,mybatis,MyBatis-Plus)