一、用户数据表的设计

  1. CREATE TABLE `user`(
  2. `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  3. `status` INT(1) DEFAULT 1 COMMENT '使用状态(0:禁用 1:正常)',
  4. `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  5. `modify_time` DATETIME DEFAULT NULL COMMENT '修改时间',
  6. `phone_number` VARCHAR(11) NOT NULL COMMENT '电话号码',
  7. `email` VARCHAR(64) DEFAULT NULL COMMENT '用户邮箱',
  8. `open_id` VARCHAR(50) DEFAULT NULL COMMENT '微信ID',
  9. `password` VARCHAR(50) NOT NULL COMMENT '用户密码',
  10. `sex` INT(1) DEFAULT NULL COMMENT '用户性别(0:男 1:女)',
  11. `name` VARCHAR(20) DEFAULT NULL COMMENT '用户名称',
  12. `age` INT(3) DEFAULT NULL COMMENT '用户年龄',
  13. `pic` VARCHAR(128) DEFAULT NULL COMMENT '用户头像',
  14. `is_vip` INT(1) DEFAULT '0' COMMENT '是否是vip(0:普通用户 1:vip)',
  15. `score` INT(10) DEFAULT 0 COMMENT '用户积分',
  16. PRIMARY KEY (`id`)
  17. ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  18. INSERT INTO `user`
  19. VALUES(1,1,NOW(),NOW(),'13662343310','abc@163.com',NULL,'1aa0325f170f5ede768b8eab
  20. 8f6e3932',0,'张三',22,NULL,0,0),
  21. (2,1,NOW(),NOW(),'13762343310','efg@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e39
  22. 32',1,'李四',21,NULL,0,0),
  23. (3,1,NOW(),NOW(),'13862343310','123@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e39
  24. 32',0,'王五',23,NULL,1,0),
  25. (4,1,NOW(),NOW(),'13962343310','cba@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e39
  26. 32',0,'赵六',24,NULL,0,0),
  27. (5,1,NOW(),NOW(),'17762343310','dda@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e39
  28. 32',1,'钱七',20,NULL,1,0);

二、添加Mybatis依赖到ecs-impl.pom下

注:要把之前的添加的mybatis包替换成下面的mybatis-plus包

  1. <dependency>
  2. <groupId>com.baomidou</groupId>
  3. <artifactId>mybatis-plus-boot-starter</artifactId>
  4. <version>3.1.2</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.baomidou</groupId>
  8. <artifactId>mybatis-plus-generator</artifactId>
  9. <version>3.1.2</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.freemarker</groupId>
  13. <artifactId>freemarker</artifactId>
  14. <version>2.3.28</version>
  15. </dependency>
  16. <dependency>
  17. <groupId>com.spring4all</groupId>
  18. <artifactId>swagger-spring-boot-starter</artifactId>
  19. <version>1.8.0.RELEASE</version>
  20. </dependency>

三、生成逆向工程

在ec-impl-member 下的 com.yhh.member.util.CodeGenerator 添加,并执行主函数。

  1. package com.yhh.member.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-member/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/dbtest?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.member");
  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[] { "user" });
  57. mpg.setStrategy(strategy);
  58. mpg.execute();
  59. }
  60. }

四、移动生成的文件

  1. 把mapperXml包下的UserMapper.xml文件移动到resources.mapper下面
  2. 把model包下的User.java移动到ecs-common->ec-common-croe工程下面.注意可将Swagger依赖移动到ecs-parent.pom 下,并移除报错的引用。

image.pngimage.png

五、配置mybatis-plus

将如下内容复制到

  1. mybatis-plus:
  2. # xml
  3. mapper-locations: classpath:mapper/*Mapper.xml
  4. # 实体扫描,多个package用逗号或者分号分隔
  5. type-aliases-package: com.yhh.member
  6. configuration:
  7. # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
  8. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

六、在启动类上增加Mapper扫描

image.png

七、测试访问数据库

image.png