mybatis-plus逆向工程

 1 package com.czf.coupon;
 2 
 3 import com.baomidou.mybatisplus.annotation.DbType;
 4 import com.baomidou.mybatisplus.generator.AutoGenerator;
 5 import com.baomidou.mybatisplus.generator.config.*;
 6 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 7 
 8 /**
 9  * @Author chenzhanfan
10  * @Date 2021/8/11
11  * @Description
12  */
13 public class CodeGenerator {
14     public static void main(String[] args) {
15 
16         String moduleName = ""; //模块名称
17         String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC";
18         String Driver = "com.mysql.cj.jdbc.Driver";
19         String userName = "root";
20         String password = "3118000832";
21         String include = "pms_brand,pms_product,pms_product_attribute,pms_product_attribute_category," +
22                 "pms_product_attribute_value,pms_product_category,ums_admin,ums_admin_permission_relation," +
23                 "ums_admin_role_relation,ums_permission,ums_role,ums_role_permission_relation";    //数据库表名
24         String parentPackage = "com.czf.coupon";  //父包包名
25         boolean onlyEntity = true; //是否只生成实体类
26         // 代码生成器
27         AutoGenerator mpg = new AutoGenerator();
28 
29         // 全局配置
30         GlobalConfig gc = new GlobalConfig();
31         String projectPath = System.getProperty("user.dir"); //获得项目名
32         gc.setOutputDir(projectPath + "/" + moduleName + "/src/main/java"); //如果需要区分模块,在此添加模块名
33         gc.setAuthor("chenzhanfan");
34         gc.setOpen(false);//生成后是否打开资源管理器
35         gc.setFileOverride(false); //重新生成时文件是否覆盖
36         gc.setServiceName("%sService"); //去掉Service接口的首字母I
37         // gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
38         gc.setSwagger2(true); //实体属性 Swagger2 注解
39         mpg.setGlobalConfig(gc);
40 
41         // 数据源配置
42         DataSourceConfig dsc = new DataSourceConfig();
43         dsc.setUrl(url);
44         // dsc.setSchemaName("public");
45         dsc.setDriverName(Driver);
46         dsc.setUsername(userName);
47         dsc.setPassword(password);
48         dsc.setDbType(DbType.MYSQL);
49         mpg.setDataSource(dsc);
50 
51         /**
52          * 输出模板,如果按照官方原生的可以不配置,也可以配置自定义的模板
53          */
54         TemplateConfig templateConfig = new TemplateConfig();
55         // 配置自定义输出模板
56         //指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别,默认vm,xml不输出
57         templateConfig.setEntity("templates/entity.java");
58         if (onlyEntity) {
59             templateConfig.setService(null);
60             templateConfig.setServiceImpl(null);
61             templateConfig.setController(null);
62             templateConfig.setMapper(null);
63             templateConfig.setXml(null);
64         } else {
65             templateConfig.setService("templates/service.java");
66             templateConfig.setServiceImpl("templates/serviceImpl.java");
67             templateConfig.setController("templates/controller.java");
68             templateConfig.setMapper("templates/mapper.java");
69             templateConfig.setXml(null);
70         }
71         mpg.setTemplate(templateConfig);
72 
73         // 包配置
74         PackageConfig pc = new PackageConfig();
75         pc.setModuleName(null); //模块名
76         pc.setParent(parentPackage);
77         pc.setEntity("entity");
78         pc.setController("controller");
79         pc.setMapper("mapper");
80         pc.setService("service");
81 
82         mpg.setPackageInfo(pc);
83 
84         // 策略配置
85         StrategyConfig strategy = new StrategyConfig();
86         strategy.setInclude((include).split(","));//表名,多个英文逗号分割
87         strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
88         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
89         strategy.setEntityLombokModel(false);// lombok 模型 @Accessors(chain = true) setter链式操作
90         strategy.setRestControllerStyle(true);//restful api风格控制器
91         strategy.setControllerMappingHyphenStyle(true);//url中驼峰转连字符
92         strategy.setTablePrefix(pc.getModuleName() + "_");//生成实体时去掉表前缀
93         mpg.setStrategy(strategy);
94         mpg.execute();
95     }
96 }

 

上一篇:计算机基本组成


下一篇:响应式自适应和带手机端的区别