代码示例
package codeGenerator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import java.sql.Types;
public class CodeGenerator {
public static void main(String[] args) {
// 数据库配置
String url = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false&allowMultiQueries=true";
String username = "";
String password = "";
// 输出路径(绝对路径)
String outPath = "**\\**test-project\\src\\main\\java";
String parentPackage = "com.zqsz.test";
// 作者
String author = "liushengbing";
// 需要生成的表名
String tableName = "test-table";
FastAutoGenerator.create(url, username, password)
.globalConfig(builder -> {
builder.author(author) // 设置作者
// .enableSwagger() // 开启 swagger 模式
.outputDir(outPath); // 指定输出目录
})
.dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
int typeCode = metaInfo.getJdbcType().TYPE_CODE;
if (typeCode == Types.SMALLINT) {
// 自定义类型转换
return DbColumnType.INTEGER;
}
return typeRegistry.getColumnType(metaInfo);
}))
.packageConfig(builder -> {
builder.parent(parentPackage); // 设置父包名
})
.strategyConfig(builder -> {
builder.addInclude(tableName) // 设置需要生成的表名
.addTablePrefix("t_"); // 设置过滤表前缀
// controller 策略配置
builder.controllerBuilder().enableRestStyle(); // 开启生成@RestController 控制器
// mapper 策略配置
builder.mapperBuilder().enableMapperAnnotation(); // 开启 @Mapper 注解
// entity 策略配置
builder.entityBuilder().enableLombok(); // 开启 lombok 模型
builder.entityBuilder().enableTableFieldAnnotation(); // 开启生成实体时生成字段注解
// builder.entityBuilder().enableFileOverride(); // 覆盖已生成文件
})
.execute();
}
}
Last modified: 15 十一月 2023