MybatisPlus代码生成器

package com.yongdeng;

 

import com.baomidou.mybatisplus.annotation.DbType;

import com.baomidou.mybatisplus.annotation.FieldFill;

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;

import com.baomidou.mybatisplus.generator.config.po.TableFill;

import com.baomidou.mybatisplus.generator.config.rules.DateType;

import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

 

import java.util.ArrayList;

 

//代码自动生成器

public class Code {

    public static void main(String[] args) {

        //需要构建一个代码自动生成器对象

        AutoGenerator mpg = new AutoGenerator();

        //配置策略

 

        //1.全局配置

        GlobalConfig gc = new GlobalConfig();

        //获取系统当前目录

        String property = System.getProperty("user.dir");

        //代码生成到这个目录下

        gc.setOutputDir(property+"/src/main/java");

        gc.setAuthor("王");//代码上注释的作者

        gc.setOpen(false);//是否打开资源管理器(代码生成后打开代码所在文件夹)

        gc.setFileOverride(true);//是否覆盖原来生成的

        gc.setServiceName("%sService");//去Service的I前缀

        gc.setIdType(IdType.ID_WORKER);//生成策略

        gc.setDateType(DateType.ONLY_DATE);//时间类型

        gc.setSwagger2(true);//自动配置swagger文档

        mpg.setGlobalConfig(gc);

 

        //2.设置数据源(配用户名链接密码连接数据库)

        DataSourceConfig dsc = new DataSourceConfig();

        dsc.setUrl("jdbc:mysql://localhost:3306/decorate?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC");

        dsc.setDriverName("com.mysql.cj.jdbc.Driver");

        dsc.setUsername("root");

        dsc.setPassword("123456");

        dsc.setDbType(DbType.MYSQL);//数据库的类型

        mpg.setDataSource(dsc);

 

        //3.包的配置

        PackageConfig pc = new PackageConfig();

        pc.setModuleName("blog");//模块名字

        pc.setParent("com.yongdeng");//生成模块在这个路径下

        pc.setEntity("entity");

        pc.setMapper("mapper");

        pc.setService("service");

        pc.setController("controller");

        mpg.setPackageInfo(pc);

 

        //策略配置

        StrategyConfig strategy = new StrategyConfig();

        strategy.setInclude("user");//要生成的表名,想要生成哪个表的代码就填表名,可传多个参数,","隔开

        strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰命名

        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//列的名字下划线转驼峰

        strategy.setEntityLombokModel(true); //是否使用lombok开启注解链式变成是否支持

        strategy.setLogicDeleteFieldName("deleted");//逻辑删除(deleted表明)

        

        //自动填充配置

        TableFill tableFill = new TableFill("user", FieldFill.INSERT);//创建时自动填充策略user数据库表

        TableFill tableFill1 = new TableFill("user", FieldFill.INSERT_UPDATE);//修改时

        ArrayList<TableFill> list = new ArrayList<>();

        list.add(tableFill);

        list.add(tableFill1);

        strategy.setTableFillList(list);

 

        //乐观锁

        strategy.setVersionFieldName("version");//乐观锁

        strategy.setRestControllerStyle(true);//开启驼峰命名格式

        strategy.setControllerMappingHyphenStyle(true);//localhost:8080/hello_id_2

 

 

        mpg.execute();//执行

 

    }

}

 

posted @ 2020-06-24 16:06  神出鬼没i  阅读(337)  评论(0)    收藏  举报