利用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有緩存機制,如果發現命名空間錯誤,請重新刷新並重新生成即可。