利用mybatis-plus-generator来生成mybatis-plus框架所需要的各种代码,非常方便,省时省力,为了避免重复造车,在此将mybatis-plus-generator配置过程记录下来,用于重复利用及备查。
1.Pom配置:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <mp.version>3.3.1</mp.version> </properties>
<dependencies> <!-- l代码生成器 依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>${mp.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mp.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Freemarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> <scope>compile</scope> </dependency> <!--数据库连接mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> </dependencies>
2.建立main.java主文件:
package cn.*****; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.IdType; 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 com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; /** * @author ***** * @date 2021/11/1 10:15 * * 代码生成器 */ public class CodeGenerator { public static void main(String[] args) { // 1.全局配置 GlobalConfig config = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); config.setActiveRecord(true) .setAuthor("*****")// 作者 .setOutputDir(projectPath + "/本项目名称/src/main/java")// 生成路径 .setFileOverride(false)// 文件覆盖 .setIdType(IdType.ASSIGN_ID) .setControllerName("%sController").setServiceName("%sService") // 设置生成service .setServiceImplName("%sServiceImpl").setMapperName("%sMapper").setXmlName("%sMapper") // IEmployeeService .setBaseResultMap(true).setBaseColumnList(true); // 2.数据源配置 DataSourceConfig dsConfig = new DataSourceConfig(); dsConfig.setDbType(DbType.MYSQL).setDriverName("com.mysql.jdbc.Driver") .setUrl("jdbc:mysql://127.0.0.1:3306/*****?serverTimezone=UTC&useSSL=false") .setUsername("root") .setPassword("root"); // 3.策略配置 StrategyConfig stConfig = new StrategyConfig(); stConfig.setCapitalMode(true) .setNaming(NamingStrategy.underline_to_camel) .setEntityLombokModel(true); // 4.包名策略配置 PackageConfig pkConfig = new PackageConfig(); pkConfig.setParent("cn.****.*****").setMapper("mapper").setService("service") .setServiceImpl("service").setEntity("entity").setXml("mapper"); // 5.整合配置 AutoGenerator ag = new AutoGenerator(); ag.setGlobalConfig(config).setDataSource(dsConfig).setStrategy(stConfig).setPackageInfo(pkConfig) .setTemplateEngine(new FreemarkerTemplateEngine()); // 6.执行 ag.execute(); } }
注意,文件中***需要认真核对并修改为自己所需要的。
修改完成后,点击运行main文件即可。maven有缓存机制,如果发现命名空间错误,请重新刷新并重新生成即可。