MybatisPlus代码生成器

3 篇文章 0 订阅
1 篇文章 0 订阅

1 :引入相关依赖jar包
在这里插入图片描述
2:编写类

package com.yunfan.hr.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class MybatisPlusUtils {

    /**
     * 获取全部的表
     * @return
     */
    public static String[] getAllTables(){
        List list = new ArrayList();
        try{
            Connection connection = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/vhr?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8",
                    "root",
                    "123");
            DatabaseMetaData metaData = connection.getMetaData();
            ResultSet rs = metaData.getTables(null,null,null,new String[]{"TABLE"});
            while (rs.next()){
                list.add(rs.getString(3));
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return (String[]) list.toArray(new String[]{});
    }

    /**
     * 连接数据库
     * @param autoGenerator
     */
    private static void buildDb(AutoGenerator autoGenerator){
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/vhr?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("123");
        autoGenerator.setDataSource(dataSourceConfig);

    }

    public static void generateMysql(String[] includeTables,String[] excludeTables,Boolean db1){
        AutoGenerator autoGenerator = new AutoGenerator();
        //数据库配置
        buildDb(autoGenerator);
        //数据表配置
        StrategyConfig strategyConfig = new StrategyConfig();
        //骆驼命名
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setInclude(includeTables);
        strategyConfig.setExclude(excludeTables);
        strategyConfig.setTablePrefix("");
        autoGenerator.setStrategy(strategyConfig);

        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setAuthor("Lixuan");
        globalConfig.setIdType(IdType.INPUT);
        globalConfig.setDateType(DateType.ONLY_DATE);
        globalConfig.setActiveRecord(true);
        globalConfig.setOutputDir("D:/Project/Hr/hr1/src/main/java");
        globalConfig.setMapperName("%sMapper");
        globalConfig.setServiceName("%sService");
        globalConfig.setServiceImplName("%sServiceImpl");
        globalConfig.setXmlName("%sMapper");
        globalConfig.setSwagger2(false);
        globalConfig.setFileOverride(true);
        globalConfig.setBaseColumnList(false);
        globalConfig.setBaseResultMap(false);
        globalConfig.setEnableCache(false);
        autoGenerator.setGlobalConfig(globalConfig);

        //包名配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("");
        packageConfig.setEntity("com.yunfan.hr.entity");
        packageConfig.setMapper("com.yunfan.hr.dao");
        packageConfig.setXml("mapper");
        packageConfig.setService("com.yunfan.hr.service");
        packageConfig.setServiceImpl("com.yunfan.hr.service.impl");
        packageConfig.setController("com.yunfan.hr.controller");
        autoGenerator.setPackageInfo(packageConfig);
        //设置模板
        autoGenerator.setTemplateEngine(new FreemarkerTemplateEngine());
        //执行
        autoGenerator.execute();
    }

    public static void main(String[] args) {
        generateMysql(getAllTables(),null,false);
    }





}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值