MyBatis-Plus代码生成器的使用详解

作者:dessw 时间:2022-09-04 23:14:40 

1.引入依赖


<!--mybatisplus依赖-->
 <dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus-boot-starter</artifactId>
     <version>3.0.5</version>
   </dependency>
   <!--代码生成模板-->
   <dependency>
     <groupId>org.apache.velocity</groupId>
     <artifactId>velocity-engine-core</artifactId>
     <version>2.0</version>
   </dependency>

2.生成器代码


public class CodeEasy {
 public static void main(String[] args) {

//创建代码生成器对象
   AutoGenerator autoGenerator=new AutoGenerator();

// 1.全局配置
   GlobalConfig globalConfig=new GlobalConfig();

globalConfig.setActiveRecord(true)//是否支持AR模式
         .setAuthor("wsy")//作者
         .setOutputDir("G://MybatisPlus/mybatisplus/src/main/java")//生成路径
         .setOpen(false)//是否打开资源管理器
         .setFileOverride(true)//生成文件覆盖
         .setIdType(IdType.AUTO)//主键策略
         .setServiceName("%sService")//设置生成service接口的名字首字母是否为I
         .setDateType(DateType.ONLY_DATE);
   autoGenerator.setGlobalConfig(globalConfig);

//2.设置数据源
   DataSourceConfig dsc=new DataSourceConfig();
   dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF-8");
   dsc.setDriverName("com.mysql.cj.jdbc.Driver");
   dsc.setUsername("root");
   dsc.setPassword("root");
   dsc.setDbType(DbType.MYSQL);
   autoGenerator.setDataSource(dsc);

//3.包的配置
   PackageConfig pc=new PackageConfig();
  // pc.setModuleName("mybatisplus");//设置模块名
   pc.setParent("com.sise");
   pc.setEntity("bean");
   pc.setMapper("mapper");
   pc.setService("service");
   pc.setController("controller");
   autoGenerator.setPackageInfo(pc);

//4.策略配置
   StrategyConfig strategy = new StrategyConfig();
   strategy.setInclude("user"); // 设置要映射的表名
   strategy.setNaming(NamingStrategy.underline_to_camel);//设置命名规则,允许驼峰命名
   strategy.setColumnNaming(NamingStrategy.underline_to_camel);//设置命名规则,允许列驼峰命名
   strategy.setEntityLombokModel(true); // 自动lombok;
   strategy.setLogicDeleteFieldName("deleted");//设置逻辑删除的名字
   // 自动填充配置
   TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);//设置自动填充创建时间
   TableFill gmtModified = new TableFill("gmt_modified",FieldFill.INSERT_UPDATE);//设置自动填充修改时间
   ArrayList<TableFill> tableFills = new ArrayList<>();
   tableFills.add(gmtCreate);
   tableFills.add(gmtModified);
   strategy.setTableFillList(tableFills);
   // 乐观锁
   strategy.setVersionFieldName("version");
   strategy.setRestControllerStyle(true);//controller层使用rest风格
   strategy.setControllerMappingHyphenStyle(true); //localhost:8080/hello_id_2
   autoGenerator.setStrategy(strategy);

autoGenerator.execute();

}
}

3.运行后生成的结果

MyBatis-Plus代码生成器的使用详解

来源:https://blog.csdn.net/weixin_45081813/article/details/110152027

标签:MyBatis-Plus,代码生成器
0
投稿

猜你喜欢

  • 代码实例分析android中inline hook

    2022-11-06 18:45:08
  • 基于C#实现简单离线注册码生成与验证

    2022-02-08 15:22:49
  • OpenCV 颜色追踪的示例代码

    2023-01-19 05:20:31
  • c# 进程和线程的区别与联系

    2023-05-04 23:18:36
  • Mybatis如何实现InsertOrUpdate功能

    2022-10-11 10:26:58
  • SpringBoot + SpringSecurity 短信验证码登录功能实现

    2022-10-16 10:26:25
  • IDEA2020.1个性化设置的实现

    2023-10-17 09:31:34
  • java 遍历Map的几种方法总结

    2023-09-25 23:39:21
  • 简单说明Java的Struts框架中merge标签的使用方法

    2023-09-17 00:32:26
  • 2022 最新 IntelliJ IDEA 详细配置步骤演示(推荐)

    2021-11-20 21:05:48
  • java实现文件归档和还原

    2023-02-28 23:09:51
  • java Quartz定时器任务与Spring task定时的几种实现方法

    2021-11-14 22:31:47
  • IntelliJ IDEA(或者JetBrains PyCharm)中弹出"IntelliJ IDEA License Activation"的解决办法

    2021-12-11 09:39:10
  • 举例讲解JDK注解的使用和自定义注解的方法

    2022-06-29 17:34:52
  • Java多线程--让主线程等待所有子线程执行完毕在执行

    2022-09-14 01:21:34
  • c# 如何使用 My 命名空间

    2022-12-25 20:23:39
  • SpringCloud Gateway 路由配置定位原理分析

    2022-06-10 19:57:47
  • Java/Web调用Hadoop进行MapReduce示例代码

    2023-09-01 05:05:50
  • nacos注册中心单节点ap架构源码解析(最新推荐)

    2022-09-02 09:31:43
  • 一篇文章带你入门Springboot沙箱环境支付宝支付(附源码)

    2021-06-26 23:21:16
  • asp之家 软件编程 m.aspxhome.com