zoukankan      html  css  js  c++  java
  • mybatis-plus自动生成代码

    package com.example.demo.utils;
    
    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
    import com.baomidou.mybatisplus.generator.AutoGenerator;
    import com.baomidou.mybatisplus.generator.config.*;
    import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    import org.apache.commons.lang.StringUtils;
    
    import java.util.Scanner;
    
    /**
     * @author: Mr.
     * @date: 2021/8/5 12:54
     */
    
    public class MySqlGenerator {
    
        /**
         * 读取控制台内容
         */
    //    public static String scanner(String tip){
    //        Scanner scanner = new Scanner(System.in);
    //        System.out.println("请输入" + tip + ":");
    //        if (scanner.hasNext()){
    //            String ipt = scanner.next();
    //            if (StringUtils.isNotBlank(ipt)){
    //                return ipt;
    //            }
    //        }
    //        throw new MybatisPlusException("请输入正确的:"+tip+"!");
    //    }
    
        public static void main(String[] args) {
            // 代码生成器
            AutoGenerator mpg = new AutoGenerator();
    
            // 全局配置
            GlobalConfig gc = new GlobalConfig();
            String projectPath = System.getProperty("user.dir");
            gc.setOutputDir(projectPath + "/src/main/java");
            gc.setActiveRecord(true);
            gc.setAuthor("Mrs.Liao"); //设置作者
            gc.setIdType(IdType.AUTO);
            gc.setOpen(false);
            gc.setFileOverride(true); //第二次生成会把第一次生成的覆盖掉
            gc.setServiceName("%sService"); //生成的service接口名字首字母是否为I,这样设置就没有
            gc.setBaseResultMap(true); //基本的字段映射
            mpg.setGlobalConfig(gc);
    
            // 数据源配置
            DataSourceConfig dsc = new DataSourceConfig();
            dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai");
            dsc.setDriverName("com.mysql.cj.jdbc.Driver");
            dsc.setUsername("root");
            dsc.setPassword("root");
            mpg.setDataSource(dsc);
    
            // 包配置
            PackageConfig pc = new PackageConfig();
            pc.setParent("com.oeandn.hanwha");
    //        pc.setModuleName(scanner("模块名"));
            pc.setMapper("mapper");
            pc.setService("service");
            pc.setController("controller");
            pc.setEntity("entity");
            mpg.setPackageInfo(pc);
    
    
            // 4、策略配置
            StrategyConfig strategy = new StrategyConfig();
            strategy.setCapitalMode(true); // 全局大写命名
            strategy.setNaming(NamingStrategy.underline_to_camel); // 数据库字段下划线转驼峰命令策略
            strategy.setColumnNaming(NamingStrategy.underline_to_camel);
            strategy.setEntityTableFieldAnnotationEnable(true);
            strategy.setRestControllerStyle(true);
            String tables = "table,table2";
            strategy.setInclude(tables.split(","));
            mpg.setStrategy(strategy);
    
            //5、执行
            mpg.execute();
        }
    
    }
  • 相关阅读:
    Linux更新时,出现无法更新锁
    Linux显示su:认证失败
    08 redis的缓存预热,雪崩,击穿,穿透问题以及常用的监控参数
    06 redis的哨兵系统的工作流程
    05 redis的主从复制机制的工作流程以及相关基础知识
    03 redis的事务以及锁、过期数据的删除策略、逐出算法、配置文件的核心配置参数
    02 jedis以及redis的持久化
    01 redis的5种基本数据类型的介绍,使用以及应用场景
    M1 MySQL事务知识点的总结
    02 Java文件读写通道的使用以及文件的基本操作方法
  • 原文地址:https://www.cnblogs.com/padazala/p/15411255.html
Copyright © 2011-2022 走看看