所需MAVEN依赖
<dependencies>
<!--MyBatis-Plus代码生成器需要的依赖,开始-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.3.3</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!--MyBatis-Plus代码生成器需要的依赖,结束-->
</dependencies>
JAVA代码
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.converts.PostgreSqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.querys.PostgreSqlQuery;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.keywords.PostgreSqlKeyWordsHandler;
import java.util.Collections;
public class CodeGen {
//数据库信息(POSTGRESQL)
// private static final String DRIVER_NAME = "org.postgresql.Driver";
private static final String URL = "jdbc:postgresql://127.0.0.1:5432/test";
private static final String USER_NAME = "postgres";
private static final String PASSWORD = "123456";
private static final DataSourceConfig.Builder DATA_CONFIG_BUILDER=
new DataSourceConfig.Builder(URL,USER_NAME,PASSWORD)
.dbQuery(new PostgreSqlQuery())
.schema("public")
.typeConvert(new PostgreSqlTypeConvert())
.keyWordsHandler(new PostgreSqlKeyWordsHandler());
public static void main(String[] args) {
//parentPath: 项目路径--到/src/main 此处为默认值
final String parentPath = System.getProperty("user.dir")+"/src/main";
final String projectPath = parentPath+"/java";
FastAutoGenerator.create(DATA_CONFIG_BUILDER)
//全局设置
.globalConfig(builder -> {
// 设置作者
builder.author(System.getProperty("user.name"))
// 覆盖已生成文件
.fileOverride()
//执行完毕后禁止打开目录
.disableOpenDir()
// 指定输出目录
.outputDir(projectPath);
})
//包设置
.packageConfig(builder -> {
// 设置父包名
builder.parent("com.test")
// 设置父包模块名
// .moduleName("system")
// 设置mapperXml生成路径
.pathInfo(Collections.singletonMap(OutputFile.xml, parentPath+"/resources/mapper"));
})
//策略设置
.strategyConfig(builder ->
//数据库表
builder.addInclude("table_a","table_b")
//通用查询结果列和通用查询映射结果
.mapperBuilder().enableBaseColumnList().enableBaseResultMap()
//去掉service接口开头的字母I
.serviceBuilder().formatServiceFileName("%sService")
//以RESTful风格生成controller
.controllerBuilder().enableRestStyle()
//数据库字段转实体属性风格--驼峰
.entityBuilder().columnNaming(NamingStrategy.underline_to_camel)
// 设置过滤表前缀
// .addTablePrefix("t_", "c_")
//启用lombok注解
.enableLombok())
// 使用Freemarker引擎模板,默认的是Velocity引擎模板
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}