package com.codeyuaiiao.utils;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
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 {
// 数据库连接地址
private static final String URL = "jdbc:mysql://127.0.0.1:3306/webzp?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=true&characterEncoding=UTF-8";
// 数据库连接驱动
private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
// 数据库连接用户名
private static final String USER_NAME = "codeyuaiiao";
// 数据库连接密码
private static final String PASS_WORD = "3615yuhaijiao";
// 开发人员
private static final String AUTHOR = "codeyuaiiao";
// 父包名
private static final String PARENT = "com.codeyuaiiao";
// 模块名
// private static final String MODULENAME = "webzp";
// .xml文件放置路径
private static final String XML_PATH = "/src/main/resources/mapper/";
/**
* 自动生成代码
*/
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// TODO 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
// 生成文件的输出目录【默认 D 盘根目录】
gc.setOutputDir( projectPath + "/src/main/java");
// 作者
gc.setAuthor(AUTHOR);
// 是否打开输出目录
gc.setOpen(false);
// controller 命名方式,注意 %s 会自动填充表实体属性
gc.setControllerName("%sController");
// service 命名方式
gc.setServiceName("%sService");
// serviceImpl 命名方式
gc.setServiceImplName("%sServiceImpl");
// mapper 命名方式
gc.setMapperName("%sMapper");
// xml 命名方式
gc.setXmlName("%sMapper");
// 开启 swagger2 模式
gc.setSwagger2(true);
// 是否覆盖已有文件
gc.setFileOverride(true);
// 是否开启 ActiveRecord 模式
gc.setActiveRecord(true);
// 是否在xml中添加二级缓存配置
gc.setEnableCache(false);
// 是否开启 BaseResultMap
gc.setBaseResultMap(false);
// XML columList
gc.setBaseColumnList(false);
// 全局 相关配置
mpg.setGlobalConfig(gc);
// TODO 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(URL);
dsc.setDriverName(DRIVER_NAME);
dsc.setUsername(USER_NAME);
dsc.setPassword(PASS_WORD);
mpg.setDataSource(dsc);
// TODO 包配置
PackageConfig pc = new PackageConfig();
// 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名
pc.setParent(PARENT);
// 模块名,可以不指定
// pc.setModuleName(MODULENAME);
// Controller包名
pc.setController("controller");
// Service包名
pc.setService("service");
// ServiceImpl包名
pc.setServiceImpl("service.impl");
// Mapper 包名
pc.setMapper("mapper");
// Entity包名
pc.setEntity("entity");
mpg.setPackageInfo(pc);
// TODO 自定义配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
// to do nothing
}
};
// 输出文件配置
List<FileOutConfig> focList = new ArrayList<>();
focList.add(new FileOutConfig("/templates/mapper.xml.ftl") {
@Override
public String outputFile(TableInfo tableInfo) {
// Mapper.xml 文件存放地址及文件名
return projectPath + XML_PATH + "/" + tableInfo.getEntityName() + "Mapper.xml";
}
});
// 自定义输出文件
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
mpg.setTemplate(new TemplateConfig().setXml(null));
// TODO 策略配置
StrategyConfig strategy = new StrategyConfig();
// 数据库表映射到实体的命名策略,驼峰原则
strategy.setNaming(NamingStrategy.underline_to_camel);
// 字数据库表字段映射到实体的命名策略,驼峰原则
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 实体是否生成 serialVersionUID
strategy.setEntitySerialVersionUID(true);
// 是否生成实体时,生成字段注解
strategy.setEntityTableFieldAnnotationEnable(true);
// 使用lombok
strategy.setEntityLombokModel(true);
// 设置逻辑删除键
strategy.setLogicDeleteFieldName("del_flag");
// TODO 指定生成的bean的数据库表名
strategy.setInclude(scanner("表名,多个表使用英文逗号分割").split(","));
// strategy.setInclude("tb_admin","tb_enterprise","tb_recruitment","tb_resume","tb_user");//对那一张表生成代码
//生成实体时去掉表前缀
strategy.setTablePrefix(pc.getModuleName() + "tb_");
// 驼峰转连字符
strategy.setControllerMappingHyphenStyle(true);
mpg.setStrategy(strategy);
// 选择 freemarker 引擎需要指定如下加,注意 pom 依赖必须有!
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
/**
* <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 + "!");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot和VUE实现的求职招聘系统源码+项目说明.7z
共47个文件
java:40个
xml:6个
md:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 56 浏览量
2022-12-10
13:30:19
上传
评论 4
收藏 12KB 7Z 举报
温馨提示
基于SpringBoot和VUE实现的求职招聘系统源码+项目说明.7z 基于SpringBoot和VUE实现的求职招聘系统源码+项目说明.7z 基于SpringBoot和VUE实现的求职招聘系统源码+项目说明.7z 【备注】 主要针对计算机相关专业的正在做毕设的学生和需要项目实战的Java学习者。 也可作为课程设计、期末大作业。包含:项目源码、项目说明等,该项目可以直接作为毕设、课程设计使用。 也可以用来学习参考借鉴!
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot和VUE实现的求职招聘系统源码+项目说明.7z (47个子文件)
基于SpringBoot和VUE实现的求职招聘系统源码+项目说明
pom.xml 5KB
src
test
java
com
codeyuaiiao
WebzpJavaApplicationTests.java 219B
main
resources
mapper
TbEnterpriseMapper.xml 221B
TbAdminMapper.xml 217B
TbResumeMapper.xml 217B
TbUserMapper.xml 215B
TbRecruitmentMapper.xml 222B
java
com
codeyuaiiao
config
CaptchaConfig.java 2KB
InterceptorConfig.java 968B
ResultGenerator.java 2KB
CorsConfig.java 1KB
RestResult.java 1KB
ResultCode.java 433B
interceptors
JwtInterceptor.java 2KB
mapper
TbAdminMapper.java 284B
TbEnterpriseMapper.java 249B
TbRecruitmentMapper.java 252B
TbResumeMapper.java 237B
TbUserMapper.java 231B
controller
CaptchaController.java 2KB
LoginController.java 4KB
TbRecruitmentController.java 5KB
TbUserController.java 5KB
TbResumeController.java 5KB
TbEnterpriseController.java 5KB
TbAdminController.java 4KB
WebzpJavaApplication.java 413B
service
TbAdminService.java 234B
TbEnterpriseService.java 249B
TbResumeService.java 237B
TbRecruitmentService.java 252B
TbUserService.java 231B
impl
TbRecruitmentServiceImpl.java 534B
TbResumeServiceImpl.java 499B
TbAdminServiceImpl.java 676B
TbUserServiceImpl.java 485B
TbEnterpriseServiceImpl.java 527B
entity
TbResume.java 2KB
TbAdmin.java 1KB
TbUser.java 2KB
TbEnterprise.java 2KB
TbRecruitment.java 2KB
utils
CodeGenerator.java 7KB
DateUtil.java 4KB
ImageUtil.java 1KB
JwtUtil.java 1KB
项目说明.md 494B
共 47 条
- 1
资源评论
- qq_579440372023-04-22发现一个宝藏资源,赶紧冲冲冲!支持大佬~
Make程序设计
- 粉丝: 6804
- 资源: 3575
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- baseuavAntColonyOptimization-master.zip
- 碳排放权交易明细数据(2024年5月更新).xlsx
- 特殊文件属性命令chattr和lsattr
- HTML、CSS 和 JavaScript动态、交互式的网页 .txt
- b0cd8f9b23d4e5e381b6a8fd8ee0e907.JPG
- ff45d61c5900e45634cf4cac6cff61a1.JPG
- springboot.springboot.springboot.springboot.txt
- linux-进程与服务管理
- 毕业设计基于Django+MySQL+Redis实现简单的天气预报系统python源码.zip
- 基于Streamlit的口罩人脸识别系统python源码+模型+使用说明.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功