mybatisplus代码生成记录

2023-08-28 14:10:00
1147533288
原创
234

pom中引用

 <!--代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.31</version>
        </dependency>

Generator.java


package com.neusoft.bphs.utils;


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.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Auther: meepo
 * @Date: 2023-08-10 16:03
 * @Description:
 */
public class Generator {
    public static void main(String[] args) {
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir("D:/generate/src/main/java")
                .setFileOverride(true)
                .setAuthor("meepo");

        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL)
                .setUrl("jdbc:mysql://localhost:3306/bphs?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC")
                .setUsername("root")
                .setPassword("root1234567890")
                .setDriverName("com.mysql.cj.jdbc.Driver");

        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.neusoft.bphs")
                .setEntity("mybatis.entity")
                .setMapper("mybatis.mapper")
                .setService("mybatis.service")
                .setServiceImpl("mybatis.service.impl")
                .setController("component.controller");

        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel)
                .setColumnNaming(NamingStrategy.underline_to_camel)
                .setEntityLombokModel(true)
                .setRestControllerStyle(true)
                .setControllerMappingHyphenStyle(true)
                .setInclude("bphs_crjktjsjb_jyjcjl_app","bphs_jwssssjb_app","bphs_ydyhjcssjb_app","bphs_jwwsssjb_app","bphs_rules_defect","bphs_crjktjsjb_yfjzjl_app","bphs_jwsxssjb_app","bphs_crjktjsjb_zytzbs_app","bphs_jwgmssjb_app","bphs_jzycssjb_app","bphs_crjktjsjb_ypjl_app","bphs_jmjkzysjb_app");

        // 自定义配置
        InjectionConfig injectionConfig = new InjectionConfig() {
            @Override
            public void initMap() {
                Map<String, Object> map = new HashMap<>();
//                map.put("date", "2023-08-12");
                this.setMap(map);
            }
        };

        // 模板配置
        TemplateConfig templateConfig = new TemplateConfig()
                .setController("/templates/controller.java")
                .setService("/templates/service.java")
                .setServiceImpl("/templates/serviceImpl.java")
                .setMapper("/templates/mapper.java")
                .setXml("/templates/mapper.xml")
                .setEntity("/templates/entity.java");

        // 代码生成器
        AutoGenerator autoGenerator = new AutoGenerator();
        autoGenerator.setGlobalConfig(globalConfig)
                .setDataSource(dataSourceConfig)
                .setPackageInfo(packageConfig)
                .setStrategy(strategyConfig)
                .setCfg(injectionConfig)
                .setTemplate(templateConfig)
                .setTemplateEngine(new FreemarkerTemplateEngine());

        // 执行代码生成器
        autoGenerator.execute();
    }
}

文章分类
联系我
联系人: meepo
电话: *****
Email: 1147533288@qq.com
QQ: 1147533288