一、AutoGenerator作用
通过AutoGenerator可以快速的生成Entity、Mapper、Mapper.xml、Service、ServiceImpl、Controller等各个模块的代码,极大的提高了开发效率。
二、在springboot中如何使用AutoGenerator
1、在springboot中需要引入的依赖
<!--Mybatis-plus的代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.0</version>
</dependency>
<!--添加 模板引擎 依赖,MyBatis-Plus 支持 Velocity(默认)、Freemarker、Beetl,用户可以选择自己熟悉的模板引擎,如果都不满足您的要求,可以采用自定义模板引擎-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!--数据库连接-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>
</dependency>
2、在springboot项目中的src/test包下新建一个MybatisPlus_Generator类(在test的包下新建的好处是:等项目部署打jar包的时候,可以自动删除test包下的所有文件),内容如下:
package study.wang.springbootgenerator;
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 MybatisPlus_Generator {
public static void main(String[] args) {
//创建generator对象
AutoGenerator autoGenerator = new AutoGenerator();
//数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/marketuseUnicode=true&useSSL=false&characterEncoding=utf8");
dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
autoGenerator.setDataSource(dataSourceConfig);
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
//globalConfig.setOutputDir("F:/generator/src/main/java");
globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java"); //项目生成的路径
globalConfig.setAuthor("wang"); // 设置作者
globalConfig.setOpen(false); //创建好后是否打开文件夹
globalConfig.setFileOverride(true); // 是否覆盖原来生成的代码,默认为false
globalConfig.setDateType(DateType.ONLY_DATE); //关于日期类型的设置
globalConfig.setControllerName("%sController"); // 自定义文件命名,注意 %s 会自动填充表实体属性!
globalConfig.setServiceName("%sService"); // 默认service接口名IXXXService 自定义指定之后就不会用I开头了
globalConfig.setServiceImplName("%sServiceImpl");
globalConfig.setMapperName("%sMapper");
globalConfig.setXmlName("%sMapper");
autoGenerator.setGlobalConfig(globalConfig);
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("study.wang.springbootgenerator"); //设置包名
packageConfig.setModuleName(null); //设置模块名
packageConfig.setController("controller");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.impl");
packageConfig.setMapper("mapper");
packageConfig.setEntity("entity");
packageConfig.setXml("mapper.xml");
autoGenerator.setPackageInfo(packageConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setEntityLombokModel(true); //添加Lombok注解
// strategy.setTablePrefix(new String[] { "sys_" }); // 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel); // 表名生成策略(下划线转驼峰)
strategy.setColumnNaming(NamingStrategy.underline_to_camel); //列名生成策略(下划线转驼峰)
//strategy.setInclude("user"); // 需要生成的数据表的名称(如果不写这一行,将默认创建这个数据库中所有的表)
autoGenerator.setStrategy(strategy);
// 执行生成
autoGenerator.execute();
}
}
3、运行MybatisPlus_Generator类中的main()方法即可生成对应的文件(注意:类中的各种配置信息)
|