package com.perfect.cheapshop.utils;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
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.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.apache.commons.lang.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中
public class CodeGenerator {
/**
* <p>
* 读取控制台内容
* </p>
*/
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.isNotEmpty(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");
gc.setOutputDir(projectPath + "/cheap-shop-order/src/main/java");
gc.setAuthor("zhangcheng");
gc.setOpen(false);
// 设置时间类型使用哪个包下的
gc.setDateType(DateType.ONLY_DATE);
// gc.setSwagger2(true); 实体属性 Swagger2 注解
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/cheapshop?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true");
// dsc.setSchemaName("public");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
//pc.setModuleName(scanner("请输入模块名"));
pc.setParent("com.perfect.cheapshop")
.setEntity("domain")
.setMapper("mapper")
.setController("rest")
.setService("service");
mpg.setPackageInfo(pc);
// 自定义配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
// to do nothing
}
};
// 如果模板引擎是 freemarker
//String templatePath = "/templates/mapper.xml.ftl";
String templatePath = "/templates/mapper.java.vm";
// 如果模板引擎是 velocity
// String templatePath = "/templates/mapper.xml.vm";
// 自定义输出配置
List<FileOutConfig> focList = new ArrayList<>();
// 自定义配置会被优先输出
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! + pc.getModuleName()
return projectPath + "/cheap-shop-order/src/main/resources/mapper/order"
+ "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
}
});
/*
cfg.setFileCreate(new IFileCreate() {
@Override
public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) {
// 判断自定义文件夹是否需要创建
checkDir("调用默认方法创建的目录");
return false;
}
});
*/
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
// 配置模板
TemplateConfig templateConfig = new TemplateConfig();
// 配置自定义输出模板
//指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别
// templateConfig.setEntity("templates/entity2.java");
// templateConfig.setService();
// templateConfig.setController();
templateConfig.setXml(null);
mpg.setTemplate(templateConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//strategy.setSuperEntityClass("com.baomidou.ant.common.BaseEntity");
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");
strategy.setInclude(scanner("cs_shop_address,cs_shop_admin,cs_shop_cart," +
"cs_shop_category,cs_shop_order,cs_shop_order_detail,cs_shop_product,cs_shop_profile").split(","));
strategy.setSuperEntityColumns("id");
strategy.setControllerMappingHyphenStyle(true);
strategy.setTablePrefix(pc.getModuleName() + "_");
mpg.setStrategy(strategy);
//mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
java+springcloud实战商城项目.zip (138个子文件)
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
.gitignore 405B
.gitignore 303B
.gitignore 303B
.gitignore 303B
.gitignore 303B
.gitignore 54B
login.html 391B
index.html 162B
cheap-shop.iml 80B
maven-wrapper.jar 47KB
maven-wrapper.jar 47KB
maven-wrapper.jar 47KB
maven-wrapper.jar 47KB
maven-wrapper.jar 47KB
CodeGenerator.java 6KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
TestUserMapper.java 4KB
ICsShopOrderServiceTest.java 3KB
CsShopOrderController.java 3KB
ICsShopProductServiceTest.java 3KB
CsShopAdminController.java 3KB
UserController.java 3KB
CsShopOrderDetailController.java 2KB
CsShopAddressController.java 2KB
CsShopCategoryController.java 2KB
CsShopProductController.java 2KB
CsShopProfileController.java 2KB
UserServiceImpl.java 2KB
CsShopCartController.java 2KB
OrderSender.java 2KB
CsShopProduct.java 2KB
OrderReceiver.java 2KB
CsShopOrder.java 2KB
MybatisPlusConfig.java 2KB
CsShopAddress.java 2KB
CsShopProfile.java 1KB
CsShopAdmin.java 1KB
GlobalExceptionHandler.java 1KB
CsShopCart.java 1KB
CsShopOrderDetail.java 1KB
RabbitConfig.java 1KB
RabbitConfig.java 1KB
CsShopOrderDTO.java 1KB
User.java 1KB
CsShopProfileDTO.java 1KB
CsShopProductDTO.java 1KB
CsShopCategory.java 1KB
RedisConfig.java 991B
MybatisPlusConfig.java 909B
CsShopAddressDTO.java 899B
CsShopCartDTO.java 738B
MybatisPlusConfig.java 731B
CsShopOrderDetailDTO.java 677B
CsShopAdminDTO.java 671B
ApiExceptionCode.java 664B
Gender.java 618B
CsShopOrderDetailServiceImpl.java 603B
CsShopCategoryServiceImpl.java 591B
UserService.java 588B
CsShopProfileServiceImpl.java 581B
CsShopAddressServiceImpl.java 575B
CsShopProductServiceImpl.java 570B
ExceptionResponse.java 567B
CheapShopServerApplication.java 566B
CsShopAdminServiceImpl.java 559B
CheapShopConfigApplication.java 558B
CsShopOrderServiceImpl.java 557B
CsShopCartServiceImpl.java 551B
CsShopCategoryDTO.java 545B
UserDTO.java 530B
CheapShopCommonApplicationTests.java 525B
CheapShopCommonApplication.java 490B
CheapShopOrderApplication.java 444B
ApiException.java 438B
CsShopCategoryMapper.java 382B
CsShopOrderDetailMapper.java 382B
CsShopProfileMapper.java 376B
ResourceUserInfoNotCompleteException.java 373B
ResourceNotFoundException.java 372B
CsShopAdminMapper.java 371B
CsShopAddressMapper.java 370B
CsShopProductMapper.java 364B
CheapShopServerApplicationTests.java 362B
CheapShopServerApplicationTests.java 362B
CheapShopServerApplicationTests.java 362B
CsShopCartMapper.java 358B
CsShopOrderMapper.java 358B
CheapShopServerApplicationTests.java 356B
CheapShopStockApplication.java 343B
ICsShopCategoryService.java 338B
ICsShopOrderDetailService.java 338B
共 138 条
- 1
- 2
资源评论
GeekyGuru
- 粉丝: 1683
- 资源: 1099
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 部署yolov9模型ncnn模型到树莓派4或5嵌入式C++源码.zip
- 2024年上半年三星评定题库(客运) (1).xlsx
- 大学院校基础信息表(3237所大学)
- docker-compose-linux-x86-64
- 基于深度学习的常用显示接口及触摸屏液晶屏测试方法,适合FPGA初学者
- YOLOv9 QT+NCNN实现安卓端部署源码+部署步骤+演示apk.zip
- 【计算机毕业设计】基于SSM+Vue的网上花店系统【源码+lw+部署文档+讲解】
- 使用NCNN在安卓平台上部署YOLOv8实现实时目标检测分割旋转框源码.zip
- C# 调用ComfyUI 接口小案例,可以生成任务,可以获取图片,可以显示图片
- opencv-基于c++实现的opencv图像处理算法之直方图均衡算法.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功