springboot用mybatis-plus自动生成代码

springboot用mybatis-plus自动生成代码

1.导入依赖


    
        org.springframework.boot
        spring-boot-starter
    
    
    
        org.springframework.boot
        spring-boot-starter-test
        test
    
     
            org.springframework.boot
            spring-boot-starter-web
        
    
    
        org.projectlombok
        lombok
        true
    
    
    
        mysql
        mysql-connector-java
    
  
        
            com.alibaba
            druid
            1.1.20
        
    
    
        com.baomidou
        mybatis-plus-boot-starter
        3.4.1
    
    
    
        com.baomidou
        mybatis-plus-generator
        3.4.1
    
    
    
        org.apache.velocity
        velocity-engine-core
        2.2
    
    
    
        io.springfox
        springfox-swagger2
        2.7.0
    
    
        io.springfox
        springfox-swagger-ui
        2.7.0
    

     
      
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        
        
            org.apache.tomcat.embed
            tomcat-embed-jasper
            provided
        
        
            javax.servlet
            jstl
        

2.代码生成器类CodeGenerator

package com.yong;

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;
import java.util.List;

public class CodeGenerator {
    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");//生成文件的输出目录
        gc.setAuthor("刘志永");  //开发人员
        gc.setOpen(false); //生成完后是否打开资源管理器
        gc.setServiceName("%sService");//去service的I前缀
        gc.setIdType(IdType.AUTO);
        gc.setDateType(DateType.ONLY_DATE);
//        gc.setSwagger2(true);//开启 swagger2 模式
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost/mybatis-plus?useSSL=false&serverTimezone=Asia/Shanghai");
        // dsc.setSchemaName("public");
        dsc.setDbType(DbType.MYSQL); //数据库类型
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("blog");//父包模块名
        pc.setParent("com.yong");//父包名
        pc.setEntity("pojo");//实体类包名
        pc.setController("controller");//控制类包名
        pc.setMapper("mapper");//mapper包名
        pc.setService("service");//service包名
        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");//逻辑删除属性名称

        //自动填充配置
        TableFill creatTime = new TableFill("creat_time", FieldFill.INSERT);
        TableFill updateTime = new TableFill("update_time", FieldFill.INSERT_UPDATE);
        List<TableFill> tableFills=new ArrayList<TableFill>();
        tableFills.add(creatTime);
        tableFills.add(updateTime);
        strategy.setTableFillList(tableFills);//表填充字段

        strategy.setEntityTableFieldAnnotationEnable(true);//是否生成实体时,生成字段注解
        strategy.setVersionFieldName("version");  //乐观锁
        strategy.setControllerMappingHyphenStyle(true);//驼峰转连字符

        mpg.setStrategy(strategy);

        //执行
        mpg.execute();
    }
}

你可能感兴趣的:(mybatis,mybatis,spring,boot,java)