第一步:打開網址spring.io,填寫配置如下:

點擊generator,自動下載maven初始工程到本地。
第二步:用eclipse或者idea導入項目。
第三步:修改pom.xml文件,修改前后的pom.xml文件如下所示:
(1)修改前的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>net.mybatisplus</groupId> <artifactId>autogen</artifactId> <version>0.0.1-SNAPSHOT</version> <name>autogen</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
(2)修改后的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>net.mybatisplus</groupId> <artifactId>autogen</artifactId> <version>0.0.1-SNAPSHOT</version> <name>autogen</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--自動生成代碼需要--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> <!-- velocity --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
第四步:新增一個類,可以與AutogenApplication.java文件同一級。

第五步:代碼修改成如下的代碼:
package net.mybatisplus.autogen; 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.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public class CodeGenerator { public static void main(String[] args) { //1. 全局配置 GlobalConfig config = new GlobalConfig(); // 是否支持AR模式 config.setActiveRecord(true) .setAuthor("作者名字") // 生成路徑,最好使用絕對路徑,window路徑是不一樣的 //TODO TODO TODO TODO .setOutputDir("/Users/lukairui/temp/demo_test02/src/main/java") // 文件覆蓋 .setFileOverride(true) // 主鍵策略 .setIdType(IdType.AUTO) .setDateType(DateType.ONLY_DATE) // 設置生成的service接口的名字的首字母是否為I,默認Service是以I開頭的 .setServiceName("%sService") //實體類結尾名稱 .setEntityName("%sDO") //生成基本的resultMap .setBaseResultMap(true) //不使用AR模式 .setActiveRecord(false) //生成基本的SQL片段 .setBaseColumnList(true); //2. 數據源配置 DataSourceConfig dsConfig = new DataSourceConfig(); // 設置數據庫類型 dsConfig.setDbType(DbType.MYSQL) .setDriverName("com.mysql.cj.jdbc.Driver") //TODO TODO TODO TODO .setUrl("jdbc:mysql://127.0.0.1:3306/user?useSSL=false") .setUsername("root") .setPassword("xxxxx"); //3. 策略配置globalConfiguration中 StrategyConfig stConfig = new StrategyConfig(); //全局大寫命名 stConfig.setCapitalMode(true) // 數據庫表映射到實體的命名策略 .setNaming(NamingStrategy.underline_to_camel) //使用lombok .setEntityLombokModel(true) //使用restcontroller注解 .setRestControllerStyle(true) // 生成的表, 支持多表一起生成,以數組形式填寫 //TODO TODO TODO TODO .setInclude("user","address"); //4. 包名策略配置 PackageConfig pkConfig = new PackageConfig(); pkConfig.setParent("net.xdclass") .setMapper("mapper") .setService("service") .setController("controller") .setEntity("model") .setXml("mapper"); //5. 整合配置 AutoGenerator ag = new AutoGenerator(); ag.setGlobalConfig(config) .setDataSource(dsConfig) .setStrategy(stConfig) .setPackageInfo(pkConfig); //6. 執行操作 ag.execute(); System.out.println("======= Done 相關代碼生成完畢 ========"); } }
注意,上面標紅色的地方要做修改,修改成為自己對應的配置。
重點說一下
setParent("net.xdclass")
這個會直接決定你生成的文件中package的前綴。
我們做個簡單測試:
測試一:
setParent("net.xdclass")
生成結果:

測試二:
setParent("sys")
生成結果:

好了,介紹到這里,就沒有更多了。大家按照我的步驟,運行一下就可以生成到對應的路徑下了,然后根據自己的需要拷貝mapper、controller、service、model等。
看自己需要取用。我一般不用自動生成的service層代碼,不知道大家的喜好是怎么樣的。因人而異,各取所需吧。
謝謝閱讀!
