一、用户数据表的设计
CREATE TABLE `user`(`id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',`status` INT(1) DEFAULT 1 COMMENT '使用状态(0:禁用 1:正常)',`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',`modify_time` DATETIME DEFAULT NULL COMMENT '修改时间',`phone_number` VARCHAR(11) NOT NULL COMMENT '电话号码',`email` VARCHAR(64) DEFAULT NULL COMMENT '用户邮箱',`open_id` VARCHAR(50) DEFAULT NULL COMMENT '微信ID',`password` VARCHAR(50) NOT NULL COMMENT '用户密码',`sex` INT(1) DEFAULT NULL COMMENT '用户性别(0:男 1:女)',`name` VARCHAR(20) DEFAULT NULL COMMENT '用户名称',`age` INT(3) DEFAULT NULL COMMENT '用户年龄',`pic` VARCHAR(128) DEFAULT NULL COMMENT '用户头像',`is_vip` INT(1) DEFAULT '0' COMMENT '是否是vip(0:普通用户 1:vip)',`score` INT(10) DEFAULT 0 COMMENT '用户积分',PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;INSERT INTO `user`VALUES(1,1,NOW(),NOW(),'13662343310','abc@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e3932',0,'张三',22,NULL,0,0),(2,1,NOW(),NOW(),'13762343310','efg@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e3932',1,'李四',21,NULL,0,0),(3,1,NOW(),NOW(),'13862343310','123@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e3932',0,'王五',23,NULL,1,0),(4,1,NOW(),NOW(),'13962343310','cba@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e3932',0,'赵六',24,NULL,0,0),(5,1,NOW(),NOW(),'17762343310','dda@163.com',NULL,'1aa0325f170f5ede768b8eab8f6e3932',1,'钱七',20,NULL,1,0);
二、添加Mybatis依赖到ecs-impl.pom下
注:要把之前的添加的mybatis包替换成下面的mybatis-plus包
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.1.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.1.2</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.28</version></dependency><dependency><groupId>com.spring4all</groupId><artifactId>swagger-spring-boot-starter</artifactId><version>1.8.0.RELEASE</version></dependency>
三、生成逆向工程
在ec-impl-member 下的 com.yhh.member.util.CodeGenerator 添加,并执行主函数。
package com.yhh.member.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 引擎,默认 Veloctiympg.setTemplateEngine(new FreemarkerTemplateEngine());// 全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir"); //获取当前项目根路径gc.setOutputDir(projectPath + "/ecs-impl/ec-impl-member/src/main/java");//输出目录gc.setAuthor("xb");gc.setSwagger2(true); //实体属性 Swagger2 注解gc.setBaseResultMap(true);// XML ResultMapgc.setBaseColumnList(true);// XML columListmpg.setGlobalConfig(gc);// 数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://192.168.1.106:3306/dbtest?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() {@Overridepublic void initMap() {// to do nothing}};mpg.setCfg(cfg);// 配置模板TemplateConfig templateConfig = new TemplateConfig();mpg.setTemplate(templateConfig);// 包配置PackageConfig pc = new PackageConfig();pc.setParent("com.yhh.member");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[] { "user" });mpg.setStrategy(strategy);mpg.execute();}}
四、移动生成的文件
- 把mapperXml包下的UserMapper.xml文件移动到resources.mapper下面
- 把model包下的User.java移动到ecs-common->ec-common-croe工程下面.注意可将Swagger依赖移动到ecs-parent.pom 下,并移除报错的引用。
五、配置mybatis-plus
将如下内容复制到
mybatis-plus:# xmlmapper-locations: classpath:mapper/*Mapper.xml# 实体扫描,多个package用逗号或者分号分隔type-aliases-package: com.yhh.memberconfiguration:# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
六、在启动类上增加Mapper扫描
七、测试访问数据库


