一、写在前面
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