1.添加依赖坐标
<!--MyBatis-Plus代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--模板引擎-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
2.创建一个Generator类,并在该类的主方法中配置代码信息
FastAutoGenerator
// 设置数据库信息
.create("url"
,"userName"
,"password")
// 全局配置
.globalConfig(builder -> {
builder.author("创建者名字")// 创建者
.dateType(DateType.TIME_PACK)// 时间类型
.commentDate("yyyy-MM-dd")// 注释日期
// .enableKotlin()// 开启kotlin模式,默认flase
// .enableSwagger()// 开启swagger模式,默认flase
.outputDir(System.getProperty("user.dir")+"/模块名/src/main/java");// 指定输出目录
})
// 包配置
.packageConfig(builder -> {
builder.parent("com.example")// 父包名
.entity("domain")// 实体类包名
.mapper("mapper")// mapper层包名
.service("service")// service层接口包名
.serviceImpl("service.impl")// service层实现类包名
.controller("controller")// 控制层包名
.other("自定义包名")// 自定义包名
// 自定义mapper.xml文件输出目录
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/模块名/src/main/resources/mapper"));
})
// 策略配置
.strategyConfig(builder -> {
builder.addInclude("数据库表名")//设置要参与代码生成的表名,是可变参数
// .addTablePrefix("数据库表名前缀")// 进行数据库表名前缀的过滤
// .addTableSuffix("数据库表名后缀")// 进行数据库表名后缀的过滤
// .addFieldPrefix("字段名前缀")// 进行表字段名前缀的过滤
// .addFieldSuffix("字段名后缀")// 进行表字段名后缀的过滤
// 实体策略配置
.entityBuilder()
.enableLombok()// 开启lombok模型,默认false
.enableChainModel()// 开启链式模型,默认false
.naming(NamingStrategy.underline_to_camel)// 数据表名与实体类名的映射策略:underline_to_camel(下划线转驼峰)
.columnNaming(NamingStrategy.underline_to_camel)// 表字段名与实体类属性名的映射策略:underline_to_camel(下划线转驼峰)
.idType(IdType.ASSIGN_UUID)// 设置主键生成策略
.disableSerialVersionUID()// 禁用生成serialVersionUID,默认true
// .versionColumnName("乐观锁字段名")// 乐观锁字段名
// .logicDeleteColumnName("逻辑删除字段名")// 逻辑删除字段名
.formatFileName("%s")// 格式化文件名称
// mapper策略配置
.mapperBuilder()
.enableMapperAnnotation()// 开启mapper注解
.formatMapperFileName("%sMapper")// 格式化Mapper类名称
.formatXmlFileName("%sMapper")// 格式化xml文件名称
// .enableBaseResultMap()// 启用xml文件中的BaseResultMap生成,默认false
// .enableBaseColumnList()// 启用xml文件中的BaseColumnList,默认false
// service策略配置
.serviceBuilder()
// .formatServiceFileName("%sService")// 格式化service层接口名称
.formatServiceImplFileName("%sServiceImpl")// 格式化service层实现类名称
// controller策略配置
.controllerBuilder()
.enableRestStyle();// 开启生成@RestController控制器,默认false
})
.execute();