一、新建商品工程

image.png

二、添加工程配置

image.png

  1. #端口号
  2. server:
  3. port: 8500
  4. #服务注册名称
  5. spring:
  6. application:
  7. name: member-server
  8. #数据库相关配置
  9. datasource:
  10. driver-class-name: com.mysql.cj.jdbc.Driver
  11. url: jdbc:mysql://192.168.1.106:3306/ec-goods?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
  12. username: hhyu
  13. password: Yhh920205
  14. type: com.alibaba.druid.pool.DruidDataSource
  15. # REDIS (RedisProperties)
  16. # Redis数据库索引(默认为0)
  17. redis:
  18. database: 4
  19. # Redis服务器地址
  20. host: 192.168.1.106
  21. # Redis服务器连接端口
  22. port: 6379
  23. # Redis服务器连接密码(默认为空)
  24. password: 123
  25. # 连接池最大连接数(使用负值表示没有限制)
  26. jedis:
  27. pool:
  28. max-active: 8
  29. # 连接池最大阻塞等待时间(使用负值表示没有限制)
  30. max-wait: -1
  31. # 连接池中的最大空闲连接
  32. max-idle: 8
  33. # 连接池中的最小空闲连接
  34. min-idle: 0
  35. # 连接超时时间(毫秒)
  36. timeout: 10000
  37. #注册中心地址
  38. eureka:
  39. client:
  40. serviceUrl:
  41. defaultZone: http://localhost:8100/eureka/
  42. mybatis-plus:
  43. # xml
  44. mapper-locations: classpath:mapper/*Mapper.xml
  45. # 实体扫描,多个package用逗号或者分号分隔
  46. #type-aliases-package: com.yhh.member
  47. configuration:
  48. # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
  49. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  50. global-config:
  51. db-config:
  52. id-type: input
  53. #微服务调用超时失败的两种情况:
  54. #1.由于spring的懒加载机制,Ribbon在第一次调用的时候才会去初始化Ribbon Client,然后才去调用远端服务,这需要一定的时间,而Ribbon本身的默认超时时间是1秒钟
  55. #2.当请求响应时间过长,触发了熔断器,所以导致了请求失败。
  56. ribbon:
  57. ReadTimeout: 15000
  58. ConnectTimeout: 15000
  59. hystrix:
  60. command:
  61. default:
  62. execution:
  63. isolation:
  64. thread:
  65. timeoutInMilliseconds: 15000
  66. #swagger相关配置
  67. swagger:
  68. base-package: com.yhh.member
  69. title: SpringCloud2.x构建企业级微服务项目-商品模块接口
  70. description: 该项目“基于SpringCloud2.x构建企业级微服务项目”
  71. version: 1.1
  72. terms-of-service-url: www.xxxx.com
  73. contact:
  74. name: xb
  75. email: xxxxxxx@qq.com
  76. #启动类上加上:@EnableSwagger2Doc注解

三、添加逆向工程工具

image.png

  1. package com.yhh.goods.util;
  2. import com.baomidou.mybatisplus.generator.AutoGenerator;
  3. import com.baomidou.mybatisplus.generator.InjectionConfig;
  4. import com.baomidou.mybatisplus.generator.config.*;
  5. import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
  6. import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
  7. public class CodeGenerator {
  8. public static void main(String[] args) {
  9. // 代码生成器
  10. AutoGenerator mpg = new AutoGenerator();
  11. // 选择 freemarker 引擎,默认 Veloctiy
  12. mpg.setTemplateEngine(new FreemarkerTemplateEngine());
  13. // 全局配置
  14. GlobalConfig gc = new GlobalConfig();
  15. String projectPath = System.getProperty("user.dir"); //获取当前项目根路径
  16. gc.setOutputDir(projectPath + "/ecs-impl/ec-impl-goods/src/main/java");
  17. //输出目录
  18. gc.setAuthor("xb");
  19. gc.setSwagger2(true); //实体属性 Swagger2 注解
  20. gc.setBaseResultMap(true);// XML ResultMap
  21. gc.setBaseColumnList(true);// XML columList
  22. mpg.setGlobalConfig(gc);
  23. // 数据源配置
  24. DataSourceConfig dsc = new DataSourceConfig();
  25. dsc.setUrl("jdbc:mysql://192.168.1.106:3306/ec-goods?useUnicode=true&useSSL=false&characterEncoding=utf8");
  26. dsc.setDriverName("com.mysql.cj.jdbc.Driver");
  27. dsc.setUsername("root");
  28. dsc.setPassword("Yhh920205");
  29. mpg.setDataSource(dsc);
  30. // 自定义配置
  31. InjectionConfig cfg = new InjectionConfig() {
  32. @Override
  33. public void initMap() {
  34. // to do nothing
  35. }
  36. };
  37. mpg.setCfg(cfg);
  38. // 配置模板
  39. TemplateConfig templateConfig = new TemplateConfig();
  40. mpg.setTemplate(templateConfig);
  41. // 包配置
  42. PackageConfig pc = new PackageConfig();
  43. pc.setParent("com.yhh.goods");
  44. pc.setController("controller");
  45. pc.setEntity("model");
  46. pc.setMapper("mapper");
  47. pc.setService("service");
  48. pc.setServiceImpl("service.impl");
  49. pc.setXml("mapperXml");
  50. mpg.setPackageInfo(pc);
  51. // 策略配置
  52. StrategyConfig strategy = new StrategyConfig();
  53. strategy.setNaming(NamingStrategy.underline_to_camel);
  54. strategy.setColumnNaming(NamingStrategy.underline_to_camel);
  55. strategy.setEntityLombokModel(true);
  56. strategy.setInclude(new String[] { "product","category" });
  57. mpg.setStrategy(strategy);
  58. mpg.execute();
  59. }
  60. }

四、执行逆向工程

image.png