依赖导入:
<!-- 代码生成相关的依赖 --> <dependency> 生成器 <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> <dependency> 模版引擎:Velocity 用作模板引擎,根据预定义的模板和传入的参数,生成最终的代码文件。 <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> <scope>provided</scope> </dependency>
生成器相当于你使用电脑更改你的打印文档,而模板引擎就好比打印机将你写好的代码模版打印出来,生成你的实体类entity 三层架构 Mapper Service Controller
示例代码:
package com.zxl; import com.baomidou.mybatisplus.annotation.DbType; 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; public class CodeGen { public static void main(String[] args) { String moduleName = "store";//模块名 String dataBaseName = "store";//库名 String tableName = "store";//表名 //String projectPath = "D:/project/yygh/guigu-syt-parent"; String projectPath = System.getProperty("user.dir");//user.dir是固定参数,无论你将这个代码生成器用在哪里都是传入这个参数 // 1、创建代码生成器 AutoGenerator mpg = new AutoGenerator(); // 2、全局配置 // 全局配置 GlobalConfig gc = new GlobalConfig(); // gc.setOutputDir(projectPath + "/service/service-" + moduleName + "/src/main/java"); gc.setOutputDir(projectPath + "/service-" + moduleName + "/src/main/java"); System.out.println(projectPath); //%s表示占位符,实现字符串拼接。这里%s是首字符大写的实体名称。 //默认情况下:service接口名称的生成规则是 I%sService,这里我们将它改成习惯用的%sService gc.setServiceName("%sService"); //默认情况下:controller接口名称的生成规则是 %sController,这里我们添加一个Admin前缀 gc.setControllerName("Admin%sController"); gc.setAuthor("zxl"); gc.setOpen(false); mpg.setGlobalConfig(gc); // 3、数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/student_" + dataBaseName + "?characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); // 4、包配置 PackageConfig pc = new PackageConfig(); pc.setModuleName(moduleName); //模块名 pc.setParent("com.zxl"); pc.setController("controller"); pc.setEntity("entity"); pc.setService("service"); pc.setMapper("mapper"); mpg.setPackageInfo(pc); // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略 strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作 strategy.setRestControllerStyle(true); //restful api风格控制器 strategy.setInclude(tableName);//设置生成的表名 mpg.setStrategy(strategy); // 6、执行 mpg.execute(); } }
导入相关依赖,将这个代码粘贴到test目录即可,选好你对应的MySQL数据库名和表名,点击运行即可使用!