MybatisPlus------代码生成器

快速开发:

代码生成器:

(1)模版:MyBatisPlus提供

(2)数据库相关配置:读取数据库获取信息

(3)开发者自定义配置:手工配置

复制代码
package com.ithema;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;

public class CodeGenerator {
    public static void main(String[] args) {
        //1、获取代码生成器对象
        AutoGenerator autoGenerator = new AutoGenerator();

        //设置数据库相关配置
        DataSourceConfig datasource = new DataSourceConfig();
        datasource.setDriverName("com.mysql.cj.jdbc.Driver");
        datasource.setUrl("jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC");
        datasource.setUsername("root");
        datasource.setPassword("130740");
        autoGenerator.setDataSource(datasource);

        //设置全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir")+"/springboot/mybatisplus_04_generator/src/main/java");  //设置生成位置
        globalConfig.setOpen(false);   //设置生成完毕后是否打开生成代码所在的目录
        globalConfig.setAuthor("zm程序员");    //设置作者
        globalConfig.setFileOverride(true);   //设置是否覆盖原始生成文件
        globalConfig.setMapperName("%sDao");  //设置数据层接口名,%s为占位符,指代模块名称
        globalConfig.setIdType(IdType.ASSIGN_ID);   //设置id生成方式
        autoGenerator.setGlobalConfig(globalConfig);

        //设置包名相关配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.aaa");  //设置生成的包名,与代码所在位置不冲突,二者叠加组成完整路径
        packageConfig.setEntity("domain");     //设置实体类包名
        packageConfig.setMapper("dao");        //设置数据层包名
        autoGenerator.setPackageInfo(packageConfig);

//        //策略设置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("tbl_user");  //设置当前参与生成的表名,参数为可变参数
        strategyConfig.setTablePrefix("tbl_");  //设置数据库表的前缀名称,模块名=数据库表名-前缀名 例如:User = tbl_user - tbl
        strategyConfig.setRestControllerStyle(true);  //设置是否启用rest风格
        strategyConfig.setVersionFieldName("version");   //设置乐观锁字段名
        strategyConfig.setLogicDeleteFieldName("deleted");  //设置逻辑删除字段
        strategyConfig.setEntityLombokModel(true);        //设置是否启用lombok
        autoGenerator.setStrategy(strategyConfig);

        
        //2、执行生成操作
        autoGenerator.execute();
    }
}
复制代码

 

posted @   佛系粥米  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示