一、新建商品工程
二、添加工程配置

#端口号server: port: 8500#服务注册名称spring: application: name: member-server #数据库相关配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://192.168.1.106:3306/ec-goods?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai username: hhyu password: Yhh920205 type: com.alibaba.druid.pool.DruidDataSource # REDIS (RedisProperties) # Redis数据库索引(默认为0) redis: database: 4 # Redis服务器地址 host: 192.168.1.106 # Redis服务器连接端口 port: 6379 # Redis服务器连接密码(默认为空) password: 123 # 连接池最大连接数(使用负值表示没有限制) jedis: pool: max-active: 8 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1 # 连接池中的最大空闲连接 max-idle: 8 # 连接池中的最小空闲连接 min-idle: 0 # 连接超时时间(毫秒) timeout: 10000#注册中心地址eureka: client: serviceUrl: defaultZone: http://localhost:8100/eureka/mybatis-plus: # xml mapper-locations: classpath:mapper/*Mapper.xml # 实体扫描,多个package用逗号或者分号分隔 #type-aliases-package: com.yhh.member configuration: # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: input#微服务调用超时失败的两种情况:#1.由于spring的懒加载机制,Ribbon在第一次调用的时候才会去初始化Ribbon Client,然后才去调用远端服务,这需要一定的时间,而Ribbon本身的默认超时时间是1秒钟#2.当请求响应时间过长,触发了熔断器,所以导致了请求失败。ribbon: ReadTimeout: 15000 ConnectTimeout: 15000hystrix: command: default: execution: isolation: thread: timeoutInMilliseconds: 15000#swagger相关配置swagger: base-package: com.yhh.member title: SpringCloud2.x构建企业级微服务项目-商品模块接口 description: 该项目“基于SpringCloud2.x构建企业级微服务项目” version: 1.1 terms-of-service-url: www.xxxx.com contact: name: xb email: xxxxxxx@qq.com #启动类上加上:@EnableSwagger2Doc注解
三、添加逆向工程工具

package com.yhh.goods.util;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;public class CodeGenerator { public static void main(String[] args) {// 代码生成器 AutoGenerator mpg = new AutoGenerator();// 选择 freemarker 引擎,默认 Veloctiy mpg.setTemplateEngine(new FreemarkerTemplateEngine());// 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); //获取当前项目根路径 gc.setOutputDir(projectPath + "/ecs-impl/ec-impl-goods/src/main/java");//输出目录 gc.setAuthor("xb"); gc.setSwagger2(true); //实体属性 Swagger2 注解 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(true);// XML columList mpg.setGlobalConfig(gc);// 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://192.168.1.106:3306/ec-goods?useUnicode=true&useSSL=false&characterEncoding=utf8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("Yhh920205"); mpg.setDataSource(dsc);// 自定义配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() {// to do nothing } }; mpg.setCfg(cfg);// 配置模板 TemplateConfig templateConfig = new TemplateConfig(); mpg.setTemplate(templateConfig);// 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.yhh.goods"); pc.setController("controller"); pc.setEntity("model"); pc.setMapper("mapper"); pc.setService("service"); pc.setServiceImpl("service.impl"); pc.setXml("mapperXml"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setInclude(new String[] { "product","category" }); mpg.setStrategy(strategy); mpg.execute(); }}
四、执行逆向工程