一、寫在前面
spring5 + mybatis-plus3 自動生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼。
二、具體實現
1.maven依賴
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.2.0</version>
</dependency>
<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.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
2.主要代碼
package com.yale.utils;
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.springframework.core.io.support.ResourcePropertySource;
public class CodeGenerator {
public static void main(String[] args) throws Exception {
//讀取jdbc.properties
ResourcePropertySource propertySource = new ResourcePropertySource("jdbc.properties");
// 代碼生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("D:\\work\\workspace\\novel_maven\\src\\main\\java");//輸出文件夾
gc.setOpen(false); //關閉自動打開輸出文件夾
mpg.setGlobalConfig(gc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.yale.test");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel); //駝峯命名
strategy.setColumnNaming(NamingStrategy.underline_to_camel); //駝峯命名
strategy.setInclude("user", "novel_chapter"); //指定數據庫表
mpg.setStrategy(strategy);
// 數據源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl((String)propertySource.getProperty("jdbc.url"));
dsc.setDriverName((String) propertySource.getProperty("jdbc.driver"));
dsc.setUsername((String) propertySource.getProperty("jdbc.username"));
dsc.setPassword((String) propertySource.getProperty("jdbc.password"));
mpg.setDataSource(dsc);
//執行
mpg.execute();
}
}
3.目錄結構
4.jdbc配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/novel?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=root