zoukankan      html  css  js  c++  java
  • Mybtais-Plus 代码生成器 集成SpringBoot配置相关信息

    首先我们需要在pom.xml中导入相关依赖包

     其次,在test类中 创建一个main程序 用来执行自动生成代码功能

    最后,就是代码生成器中的参数设置

     1 //mp自动生成器
     2                 AutoGenerator mpg = new AutoGenerator();
     3                 //全局配置
     4                 GlobalConfig globalConfig = new GlobalConfig();
     5                 globalConfig.setAuthor("杰");//设置作者名
     6                 String projectPath = System.getProperty("user.dir");//获取当前项目目录,如果不设置代码会生成到本地的别的地方里
     7                 globalConfig.setOutputDir(projectPath+"/src/main/java");//设置生成文件目录
     8                 globalConfig.setOpen(false); //设置生成完毕后是否打开文件夹
     9                  globalConfig.setFileOverride(true);//是否覆盖原本生成的代码
    10                  globalConfig.setIdType(IdType.AUTO);//设置id自增策略,策略可自行去mybatisplus官网查看
    11                  globalConfig.setDateType(DateType.ONLY_DATE);//设置日期类型
    12          //        globalConfig.setSwagger2(); 设置是否支持swagger
    13                  mpg.setGlobalConfig(globalConfig);
    14         
    15                  //设置数据源
    16                  DataSourceConfig sourceConfig = new DataSourceConfig();
    17                  sourceConfig.setUsername("***");//数据库用户名
    18                  sourceConfig.setPassword("***");//数据库密码
    19                  sourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");//数据库驱动
    20                  sourceConfig.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false");//数据库连接
    21                  sourceConfig.setDbType(DbType.MYSQL);//设置数据库类型,最新版好像不设也可以
    22                  mpg.setDataSource(sourceConfig);
    23         
    24         
    25                  //包配置
    26                  PackageConfig packageInfo = new PackageConfig();
    27                  packageInfo.setModuleName("vipAccount");//设置模块名字(package名),生成的代码会放在这里面
    28                  packageInfo.setParent("com.adminfortrain"); //父类
    29                  packageInfo.setEntity("model");//存放实体类包名
    30                  packageInfo.setService("service");
    31                  packageInfo.setServiceImpl("impl");
    32                  packageInfo.setMapper("mapper");
    33                  mpg.setPackageInfo(packageInfo);
    34         
    35         
    36                  // 策略配置
    37                  StrategyConfig strategy = new StrategyConfig();
    38                  strategy.setInclude("vip");//设置需要构建的数据库表名
    39                  strategy.setNaming(NamingStrategy.underline_to_camel);//转驼峰命名
    40                  strategy.setColumnNaming(NamingStrategy.underline_to_camel);//转驼峰命名
    41                  strategy.setEntityLombokModel(true); //开启驼峰命名
    42          //        strategy.setRestControllerStyle(true); //Controller中Restful式的风格(驼峰或者下划线)
    43                  strategy.setLogicDeleteFieldName("deleted");//设置逻辑删除
    44                  TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);//设置创建时间填充策略
    45                  TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);//修改时间
    46                  ArrayList<TableFill> list = new ArrayList<>();
    47                  list.add(gmtCreate);
    48                  list.add(gmtModified);
    49                  strategy.setTableFillList(list);
    50                  mpg.setStrategy(strategy);
    51         
    52                  //执行
    53                  mpg.execute()

    最后运行此方法就OK了

    这里有一个要注意,设置Gmt_create和gmt_modified的时候可能会自动填充失败,因为locatedatatime的问题导致,我改成Date就没有问题

    还有一个坑,记得要在启动项中配置扫描maper

  • 相关阅读:
    thinkphp5自定义sql排序
    php版雪花算法生产唯一ID 分库分表专用
    java和php保持一致的md5加密
    rabbitmq新版本使用
    pentaho-kettle+eclipse 搭建本地源码
    《我们好像在哪见过》
    《邂逅》-----徐志摩
    Oracle数据库查询和取出表中重复记录
    Kettle提取数据,数据库中文字符乱码问题
    kettle报错收集- java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@160750a6 is still active
  • 原文地址:https://www.cnblogs.com/keke26/p/12841596.html
Copyright © 2011-2022 走看看