El uso del generador de código MyBatisPlus

En la etapa inicial de un proyecto, necesitamos crear clases de entidad basadas en tablas de base de datos, así como el servicio, el asignador y el controlador correspondientes. Cuando hay muchas tablas de base de datos, crearlas manualmente llevará mucho tiempo, y el generador de código que viene con mybatisplus puede generarlas todas automáticamente para nosotros.

Primero introduzca las dependencias
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.0</version>
</dependency>

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.2</version>
</dependency>

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.5</version>
 </dependency>
Cree un código en el archivo de prueba para generar código automáticamente

Inserte la descripción de la imagen aquí

el código se muestra a continuación:
package com.wisdom.travel;

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;

/**
 * @Author WisdomBao
 * @Date 2020/9/13 17:15
 * @Version 1.0
 */
public class Code {
    
    
    public static void main(String[] args){
    
    
        //构建一个代码自动给生成器对象
        AutoGenerator mpg = new AutoGenerator();
        //配置策略
        //1、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath+"/src/main/java");  //设置项目生成路径
        gc.setAuthor("WisdomBao");	//设置作者姓名
        gc.setOpen(false);
        gc.setFileOverride(false);  //是否覆盖
        gc.setServiceName("%sService");     //去除service的I前缀(如果不设置service前面将会多一个I)
        gc.setIdType(IdType.ID_WORKER);
        gc.setDateType(DateType.ONLY_DATE);
        gc.setSwagger2(false);
        mpg.setGlobalConfig(gc);

        //2、配置数据源
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/tourism?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8");
        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.setParent("com.wisdom.travel");	 //设置生成在哪个父包下
        pc.setEntity("pojo");	//设置实体类包名
        pc.setMapper("mapper");	
        pc.setService("service");
        pc.setController("controller");
        mpg.setPackageInfo(pc);

        //4、策略配置
        StrategyConfig strategy = new StrategyConfig();
        //strategy.setInclude(new String[] { "city", "comment","group","group_apply", "group_member", "like", "order", "permission", "read", "role", "role_permission"});    //设置要映射的表(可包含多个)
        strategy.setExclude("article");	//也可设置不需要映射的表
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        strategy.setEntityLombokModel(true);
        //strategy.setLogicDeleteFieldName("deleted");   //设置逻辑删除字段
        TableFill createTime = new TableFill("create_time", FieldFill.INSERT);
        TableFill updateTime = new TableFill("update_time", FieldFill.INSERT_UPDATE);
        ArrayList<TableFill> tableFills = new ArrayList<>();
        tableFills.add(createTime);
        tableFills.add(updateTime);
        strategy.setTableFillList(tableFills);
        //乐观锁
//        strategy.setVersionFieldName("version");
        strategy.setRestControllerStyle(true);
        strategy.setControllerMappingHyphenStyle(true);     
        mpg.setStrategy(strategy);

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

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Tras la ejecución, podemos ver que el directorio ya tiene el contenido que queremos

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_44042316/article/details/108565164
Recomendado
Clasificación