欢迎光临散文网 会员登陆 & 注册

非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)

2023-06-25 23:23 作者:泡泡我老婆  | 我要投稿

不给文档,不同意加群只能自己打了

package com.example.wms.common;


import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;

import com.baomidou.mybatisplus.core.toolkit.StringPool;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;

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.TableInfo;

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

import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;



import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;


public class CodeGenerator {


public static String scanner(String tip){

Scanner scanner=new Scanner(System.in);

StringBuilder help=new StringBuilder();

help.append("请输入"+tip+":");

System.out.println(help.toString());

if(scanner.hasNext()){

String ipt=scanner.next();

if(StringUtils.isNotBlank(ipt)){

return ipt;

}

}

throw new MybatisPlusException("请输入正确的"+tip+"!");

}

public static void main(String[] args) {

// 代码生成器

AutoGenerator mpg = new AutoGenerator();


// 全局配置

GlobalConfig gc = new GlobalConfig();

String projectPath = System.getProperty("user.dir")+"/wns";

gc.setOutputDir(projectPath + "/src/main/java");//设置代码生成路径

gc.setAuthor("wns");//设置项目作者名称

gc.setOpen(false);

gc.setSwagger2(true);

gc.setBaseResultMap(true);//生成基本ResultMap

gc.setBaseColumnList(true);//生成基本ColumnList

gc.setServiceName("%sService");//去掉服务默认前缀

mpg.setGlobalConfig(gc);


DataSourceConfig dsc = new DataSourceConfig();


dsc.setUrl("jdbc:mysql://localhost:3306/wms?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8");


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

dsc.setUsername("root");

dsc.setPassword("123456");

mpg.setDataSource(dsc);


PackageConfig pc = new PackageConfig();

pc.setParent("com.example.wns");

pc.setEntity("entity");

pc.setMapper("mapper");

pc.setService("service");

pc.setServiceImpl("service.impl");

pc.setController("controller");

mpg.setPackageInfo(pc);


InjectionConfig cfg=new InjectionConfig() {

@Override

public void initMap() {

//to do nothing

}

} ;


String templatePath="template/mapper.xml.ftl";


List<FileOutConfig> focList = new ArrayList<>();


focList.add(new FileOutConfig(templatePath) {

@Override

public String outputFile(TableInfo tableInfo) {// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!

return projectPath + "/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;

}

});

cfg.setFileOutConfigList(focList);

mpg.setCfg(cfg);

TemplateConfig templateConfig = new TemplateConfig();

templateConfig.setXml(null);

mpg.setTemplate(templateConfig);

StrategyConfig strategy = new StrategyConfig();

strategy.setNaming(NamingStrategy.underline_to_camel);

strategy.setColumnNaming(NamingStrategy.underline_to_camel);

strategy.setEntityLombokModel(true);

strategy.setRestControllerStyle(true);

strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));

strategy.setControllerMappingHyphenStyle(true);

mpg.setStrategy(strategy);

mpg.setTemplateEngine(new FreemarkerTemplateEngine());

mpg.execute();

}

}

非常简单实用的前后端分离项目-仓库管理系统(Springboot+Vue)的评论 (共 条)

分享到微博请遵守国家法律