123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.sf.util;
- import com.baomidou.mybatisplus.generator.FastAutoGenerator;
- import com.baomidou.mybatisplus.generator.config.OutputFile;
- import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
- import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
- import java.sql.Types;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- public class GeneUtils {
- public static void main(String[] args) {
- List<String> list = new ArrayList<>();
- // list.add("home_book");
- // list.add("book_info"); // 书籍表
- // list.add("book_chapter"); // 书籍章节表
- // list.add("book_content"); // 章节内容表
- // list.add("news_info"); // 新闻列表
- // list.add("news_content"); // 新闻内容表
- // list.add("book_category"); // 书籍种类表
- // list.add("home_friend_link"); // 首页友情链接表
- list.add("user_info"); // 用户信息表
- // 快速生成器
- FastAutoGenerator.create("jdbc:mysql://localhost:3306/novel-cloud?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai",
- "root", "root123456")
- // 全局配置
- .globalConfig(builder -> {
- builder.author("baomidou") // 设置作者
- // .enableSwagger() // 开启 swagger 模式
- .outputDir("src/main/java/"); // 指定输出目录
- // .outputDir("src\\main\\java\\"); // 指定输出目录
- })
- // 数据源配置
- .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("com.sf") // 设置父包名
- .moduleName("") // 设置父包模块名
- .pathInfo(Collections.singletonMap(OutputFile.xml, "src/main/resources/mapper"))// 设置mapperXml生成路径
- .entity("entity") //设置实体类包名
- .mapper("mapper")
- )
- // 策略配置
- .strategyConfig(builder ->
- // builder.addInclude("book_info") // 设置需要生成的表名
- builder.addInclude(list) // 设置需要生成的表名
- // .addTablePrefix("t_", "c_") // 设置过滤表前缀
- )
- .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
- .execute();
- }
- }
|