欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 微服务搭建(二)

微服务搭建(二)

2024/10/23 1:16:50 来源:https://blog.csdn.net/weixin_46604354/article/details/142924824  浏览:    关键词:微服务搭建(二)

引入一个代码生成器模块

自己写的源代码: 大灰狼~

引入代码生成器

  • 引入一个代码生成器模块
        • 新建一个子模块
        • 导入pom
        • 带入模板并修改模板
        • 添加配置文件
        • 引入主代码
        • 运行就会,系统创建文件啦

新建一个子模块

在这里插入图片描述

导入pom

<dependencies><!--        mybatisPlus包--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>2.2.0</version></dependency><!--        模板--><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><!--        MySQL连接使用其他数据库就使用其他数据库的连接,比如pgsql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies>

引入依赖

带入模板并修改模板

下载模板,cv到resource下的创建一个包。包名随便,大不了写配置文件的时候修改一致。
根据自己的要求修改模板就是。网上也有。
或者不使用自定义模板,使用默认的(个人习惯改成想要的)
咱们不是在pom中引入了一个模板的包嘛
你点到依赖包里面去也可以看到这个依赖包里面是怎么样写的模板的。

添加配置文件
# 创建一个文件 mybatiesplus-config-warehouse.properties 名字随便
# 添加一下内容
#代码输出基本路径 就是创建的项目在本地的路径
OutputDir=D:/tobaccoAssets/tobacco-service-assets/src/main/java/
#mapper.xml SQL映射文件目录
OutputDirXml=D:/tobaccoAssets/tobacco-service-assets/src/main/resources/
#domain的输出路径
OutputDirBase=D:/tobaccoAssets/tobacco-api-assets/src/main/java/
#query
queryDir=/xx/xx/assets/entity/query/
#作者名称
author=xx
#配置包
parent=club.grc.warehouse
#表前缀
tablePrefix=grc_
#数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///xler-wx?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
jdbc.user=root
jdbc.pwd=******

配置文件,根据自己改

引入主代码
根据自己需要修改吧
package club.grc.generation;import com.baomidou.mybatisplus.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.toolkit.StringUtils;import java.util.*;/*** 生成代码的主类** @author xler*/
public class GeneratorCode {/*** 读取控制台内容*/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();//MybatisPlus提供的工具类,做非空判断if (StringUtils.isNotEmpty(ipt)) {return ipt;}}throw new MybatisPlusException("请输入正确的" + tip + "!");}public static void main(String[] args) throws InterruptedException {//用来获取Mybatis-Plus.properties文件的配置信息ResourceBundle rb = ResourceBundle.getBundle("mybatiesplus-config-wx");AutoGenerator mpg = new AutoGenerator();// 全局配置GlobalConfig gc = new GlobalConfig();gc.setOutputDir(rb.getString("OutputDir"));gc.setFileOverride(true);   //再次生成可以覆盖gc.setActiveRecord(true);// 开启 activeRecord 模式gc.setEnableCache(false);// XML 二级缓存gc.setBaseResultMap(true);// XML ResultMapgc.setBaseColumnList(true);// XML columListgc.setAuthor(rb.getString("author"));mpg.setGlobalConfig(gc);// 数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setDbType(DbType.MYSQL);dsc.setTypeConvert(new MySqlTypeConvert());dsc.setDriverName(rb.getString("jdbc.driver"));dsc.setUsername(rb.getString("jdbc.user"));dsc.setPassword(rb.getString("jdbc.pwd"));dsc.setUrl(rb.getString("jdbc.url"));mpg.setDataSource(dsc);// 表策略配置StrategyConfig strategy = new StrategyConfig();//表名生成策略 underline_to_camel转驼峰命名,no_change默认的没变化strategy.setNaming(NamingStrategy.underline_to_camel);//列名生成策略 underline_to_camel转驼峰命名,no_change默认的没变化strategy.setColumnNaming(NamingStrategy.underline_to_camel);//strategy.setSuperEntityClass("com.baomidou.ant.common.BaseEntity");// 是否使用Lombok优化代码strategy.setEntityLombokModel(true);// controller类是否直接返回jsonstrategy.setRestControllerStyle(true);// 公共父类//strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");// 写于父类中的公共字段//strategy.setSuperEntityColumns("id");//要生成的表名(控制台输入)
//        strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
//        strategy.setControllerMappingHyphenStyle(true);strategy.setInclude("xler_wx_user");//生成的类名去掉前缀 如yw_sys_user ---> SysUserstrategy.setTablePrefix("xler_");mpg.setStrategy(strategy);// 包配置PackageConfig pc = new PackageConfig();pc.setParent(rb.getString("parent"));pc.setController("web.controller");pc.setService("service");pc.setServiceImpl("service.impl");pc.setEntity("entity");pc.setMapper("mapper");mpg.setPackageInfo(pc);// 注入自定义配置,可以在 VM 中使用 cfg.abc 【可无】InjectionConfig cfg = new InjectionConfig() {@Overridepublic void initMap() {Map<String, Object> map = new HashMap<String, Object>();map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-rb");this.setMap(map);}};List<FileOutConfig> focList = new ArrayList<FileOutConfig>();//controller的输出配置focList.add(new FileOutConfig("/templates/controller.java.vm") {@Overridepublic String outputFile(TableInfo tableInfo) {//合并好的内容输出到哪儿?return rb.getString("OutputDir") + "/club/xler/web/controller/" + tableInfo.getEntityName() + "Controller.java";}});//query的输出配置focList.add(new FileOutConfig("/templates/query.java.vm") {@Overridepublic String outputFile(TableInfo tableInfo) {return rb.getString("OutputDirBase") + "/club/xler/query/" + tableInfo.getEntityName() + "Query.java";}});// 调整 domain 生成目录演示focList.add(new FileOutConfig("/templates/entity.java.vm") {@Overridepublic String outputFile(TableInfo tableInfo) {return rb.getString("OutputDirBase") + "/club/xler/entity/" + tableInfo.getEntityName() + ".java";}});// 调整 xml 生成目录演示focList.add(new FileOutConfig("/templates/mapper.xml.vm") {@Overridepublic String outputFile(TableInfo tableInfo) {return rb.getString("OutputDirXml") + "/club/xler/mapper/" + tableInfo.getEntityName() + "Mapper.xml";}});cfg.setFileOutConfigList(focList);mpg.setCfg(cfg);// 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/templates 下面内容修改,// 放置自己项目的 src/main/resources/templates 目录下, 默认名称一下可以不配置,也可以自定义模板名称TemplateConfig tc = new TemplateConfig();tc.setService("/templates/service.java.vm");tc.setServiceImpl("/templates/serviceImpl.java.vm");tc.setMapper("/templates/mapper.java.vm");tc.setEntity(null);tc.setController(null);tc.setXml(null);// 如上任何一个模块如果设置 空 OR Null 将不生成该模块。mpg.setTemplate(tc);// 执行生成mpg.execute();}
}
运行就会,系统创建文件啦

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com