直接上代码;
1、加入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</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.1</version>
</dependency>
2、代码生成工具类
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
*
-
@ClassName: CodeGenerator
-
@Description: 代码生成器
*/
public class CodeGenerator {/**
*-
@Title: main
-
@Description: 生成
-
@param args
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty(“user.dir”);
gc.setOutputDir(projectPath + “/src/main/java”);//输出文件路径
gc.setFileOverride(true);
gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setAuthor(“lee”);// 作者// 自定义文件命名,注意 %s 会自动填充表实体属性!
gc.setControllerName("%sController");
gc.setServiceName(“I%sService”);
gc.setServiceImplName("%sServiceImpl");
gc.setMapperName("%sMapper");
gc.setXmlName("%sMapper");
mpg.setGlobalConfig(gc);// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setUrl(“jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8”);
dsc.setDriverName(“com.mysql.jdbc.Driver”);
dsc.setUsername(“");
dsc.setPassword("”);
mpg.setDataSource(dsc);// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setTablePrefix(new String[] { “sys_” });// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[] { “sys_userinfo” }); // 需要生成的表strategy.setSuperServiceClass(null);
strategy.setSuperServiceImplClass(null);
strategy.setSuperMapperClass(null);mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent(“com.itmore.basicFramework.project.testGenerator”);
pc.setController(“controller”);
pc.setService(“service”);
pc.setServiceImpl(“service.impl”);
pc.setMapper(“dao”);
pc.setEntity(“entity”);
pc.setXml(“xml”);
mpg.setPackageInfo(pc);// 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/templates 下面内容修改,
// 放置自己项目的 src/main/resources/templates 目录下, 默认名称一下可以不配置,也可以自定义模板名称
TemplateConfig tc = new TemplateConfig();
tc.setController("/templates/vm/java/controller.java.vm");
tc.setEntity("/templates/vm/java/entity.java.vm");
tc.setMapper("/templates/vm/java/mapper.java.vm");
tc.setXml("/templates/vm/xml/mapper.xml.vm");
tc.setService("/templates/vm/java/service.java.vm");
tc.setServiceImpl("/templates/vm/java/serviceImpl.java.vm");
// 如上任何一个模块如果设置 空 OR Null 将不生成该模块。
mpg.setTemplate(tc);// 执行生成
mpg.execute();
}
-
}
3、模板目录
参考文章:《MyBatis Plus代码生成器》