导入生成器需要的依赖坐标:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | < dependency > < groupId >com.baomidou</ groupId > < artifactId >mybatis-plus-generator</ artifactId > < version >3.2.0</ version > </ dependency > < dependency > < groupId >org.apache.velocity</ groupId > < artifactId >velocity-engine-core</ artifactId > < version >2.1</ version > </ dependency > < dependency > < groupId >org.freemarker</ groupId > < artifactId >freemarker</ artifactId > < version >2.3.29</ version > </ dependency > < dependency > < groupId >com.ibeetl</ groupId > < artifactId >beetl</ artifactId > < version >3.0.11.RELEASE</ version > </ dependency > |
新建了一个普通Maven空项目:
创建我们的代码生成器程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import org.apache.commons.lang3.StringUtils; import java.util.Scanner; /** * @author DaiZhiZhou * @file MP-Spring * @create 2020-08-06 9:11 */ public class CodeGenerator { /** * <p> * 读取控制台内容 * </p> */ public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder help = new StringBuilder(); help.append( "请输入" ).append(tip).append( ":" ); System.out.println(help.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotEmpty(ipt)) { return ipt; } } throw new MybatisPlusException( "请输入正确的" + tip + "!" ); } public static void main(String[] args) { // 代码生成器 AutoGenerator mybatisPlusCodeGenerator = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); // 先得到当前工程目录 String projectPath = System.getProperty( "user.dir" ); // 是maven项目的结构,就是工程目录 + /src/main/java gc.setOutputDir(projectPath + "/src/main/java" ); //gc.setOutputDir("D:\\workspace-sts\\0520adv\\02_mp_springboot/src/main/java"); // 设置生成文件的作者信息 gc.setAuthor( "Echo42" ); //当代码生成完成之后是否打开代码所在的文件夹 gc.setOpen( true ); // gc.setSwagger2(true); 实体属性 Swagger2 注解 //gc.setServiceName("%sService"); // 将上述的全局配置注入 mybatisPlusCodeGenerator.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dataSourceConfiguration = new DataSourceConfig(); dataSourceConfiguration.setUrl( "jdbc:mysql://localhost:3306/oa?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC" ); // dataSourceConfiguration.setSchemaName("public"); dataSourceConfiguration.setDriverName( "com.mysql.cj.jdbc.Driver" ); dataSourceConfiguration.setUsername( "root" ); dataSourceConfiguration.setPassword( "123456" ); mybatisPlusCodeGenerator.setDataSource(dataSourceConfiguration); // 包配置 PackageConfig pc = new PackageConfig(); // 设置父级包名 pc.setParent( "cn.echo42" ); //controller entity service service.impl pc.setModuleName(scanner( "模块名" )); //pc.setModuleName("sys"); // 实体类名称 pc.setEntity( "domain" ); // mapper包名称 pc.setMapper( "mapper" ); // mapper对应的映射器xml pc.setXml( "mapper.xml" ); // 业务包层名称 pc.setService( "service" ); // 业务接口的实现类包 pc.setServiceImpl( "service.impl" ); // 控制器包名称 pc.setController( "controller" ); // 装填包信息对象 mybatisPlusCodeGenerator.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //设置字段和表名的是否把下划线完成驼峰命名规则 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); //设置生成的实体类继承的父类 //strategy.setSuperEntityClass("com.sxt.BaseEntity"); //是否启动lombok strategy.setEntityLombokModel( true ); //是否生成resetController strategy.setRestControllerStyle( true ); // 公共父类 //strategy.setSuperControllerClass("com.sxt.BaseController"); // 写于父类中的公共字段 //strategy.setSuperEntityColumns("person_id","person_name"); //要设置生成哪些表 如果不设置就是生成所有的表 //strategy.setInclude(scanner("表名,多个英文逗号分割").split(",")); strategy.setControllerMappingHyphenStyle( true ); //strategy.setTablePrefix(pc.getModuleName() + "_"); strategy.setTablePrefix( "sys_" ); mybatisPlusCodeGenerator.setStrategy(strategy); mybatisPlusCodeGenerator.execute(); } } |
点击运行:
然后生成的这个目录结构:
基础四层就帮我们自动创建完成了:
controller报错是因为没有加入SpringMVC:
如果是SSMP的开发模式,编写结构文件使用这个能省力很多,
但是对结构不清楚的情况还是多人肉手写熟悉熟悉
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/193651/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)