Java--SpringBoot-43-Mybatis-11-MybatisPlus Generator代码生成器

简介: MybatisPlus也提供了代码生成器,并且更加厉害,能直接生成controller、service、mapper、xml等,并且还支持各种配置。

MybatisPlus也提供了代码生成器,并且更加厉害,能直接生成controller、service、mapper、xml等,并且还支持各种配置。

点击下面阅读原文可访问官网:

https://mp.baomidou.com/guide/generator-new.html

       今天来搭建一个MybatisPlus Generator工具项目。

一、引入pom依赖

<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/></parent><groupId>com.xing</groupId><artifactId>springBootMybatisPlusGenerator</artifactId><version>0.0.1-SNAPSHOT</version><name>springBootMybatisPlusGenerator</name><description>MybatisPlusGeneratorDemoprojectforSpringBoot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!--https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><dependency><groupId>org.realityforge.org.jetbrains.annotations</groupId><artifactId>org.jetbrains.annotations</artifactId><version>1.7.0</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build></project>


       我是用的是5天前出来的最新版本3.5.1,这个是一个分界线,历史版本的使用和3.5.1以后版本的使用不一样,详情可看官网。

二、直接上代码:

packagecom.xing.springBoot.mybatisPlus.generator;
importcom.baomidou.mybatisplus.generator.AutoGenerator;
importcom.baomidou.mybatisplus.generator.config.*;
importcom.baomidou.mybatisplus.generator.config.builder.ConfigBuilder;
importcom.baomidou.mybatisplus.generator.config.rules.DateType;
importjava.time.LocalDateTime;
importjava.time.format.DateTimeFormatter;
/*** 生成器*/publicclassMybatisPlusGenerator {
publicstaticvoidmain(String[] args) {
Stringurl="jdbc:mysql://localhost:3306/xinghua?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC";
// 新建数据源DataSourceConfigdataSourceConfig=newDataSourceConfig.Builder(url,"root","root").build();
// 获取项目路径StringprojectPath=System.getProperty("user.dir");
System.out.println("项目路径:->"+projectPath);
// 全局配置GlobalConfigglobalConfig=newGlobalConfig.Builder()
                .author("x")//作者                .outputDir(projectPath+"/src/main/java")//文件输出路径                .disableOpenDir()//禁止打开输出目录 不禁用的话在生成完毕后自动打开你项目路径下文件夹                .commentDate("yyyy-mm-dd")//指定注释日期格式化                .commentDate(LocalDateTime.now().format(DateTimeFormatter.ISO_DATE)) // 也是注释日期//数据库时间类型到实体类时间类型 ,三种模式:1.ONLY_DATE-只使用 java.util.date 代替 2.SQL_PACK-使用 java.sql 包下的 3.默认TIME_PACK使用 java.time 包下的java8 新的时间类型                .dateType(DateType.TIME_PACK)
//                .enableKotlin()//开启 kotlin 模式//                .enableSwagger()//开启 swagger 模式 直接在实体上生成swagger的API注解                .fileOverride()//覆盖已有文件//                .openDir(false)                .build();
// 包相关的配置项PackageConfigpackageConfig=newPackageConfig.Builder()
                .moduleName("generator")//指定模块名称                .parent("com.xing.springBoot.mybatisPlus")//指定父包名                .controller("controller")//默认就是controller 一般不用设置                .entity("model")
                .service("service")
                .serviceImpl("service.impl")
                .mapper("mapper")
                .other("other")//指定自定义文件包名                .xml("mapper.xml")//指定xml包名                .build();
// 策略配置项StrategyConfigstrategyConfig=newStrategyConfig.Builder()
                .addTablePrefix("t_")//增加表前缀//                .addTableSuffix("")//增加表后缀                .addFieldPrefix("c_")//增加字段前缀                .addFieldSuffix()//增加过滤字段后缀//                .addInclude("")//增加包含的表名 include和addExclude 只有存在一个                .addExclude("test")//增加排除表                .disableSqlFilter()//禁用sql过滤                .enableSkipView()//开启跳过视图                .build();
TemplateConfigtemplateConfig=newTemplateConfig.Builder()
                .disable(TemplateType.ENTITY)
                .entity("/templates/entity.java")
                .service("/templates/service.java")
                .serviceImpl("/templates/serviceImpl.java")
                .mapper("/templates/mapper.java")
                .mapperXml("/templates/mapper.xml")
                .controller("/templates/controller.java")
                .build();
// 注入配置InjectionConfiginjectionConfig=newInjectionConfig.Builder().build();
//特么的 这个AutoGenerator还没有加上注入templateConfig的方法ConfigBuilderconfigBuilder=newConfigBuilder(packageConfig, dataSourceConfig, strategyConfig, templateConfig, globalConfig, injectionConfig);
//自动生成AutoGeneratorautoGenerator=newAutoGenerator(dataSourceConfig)
//                .global(globalConfig)//                .strategy(strategyConfig)//                .packageInfo(packageConfig);                .config(configBuilder);
autoGenerator.execute();
    }
}

       通过源码可以看到主要执行的是AutoGenerator 自动生成类,然后将一些配置类实例注入到生成类,达到配置的目的。

三、运行结果

image.png

       确实很好啊!连controller都自动建立了呢!

官网对属性做了简单的注释:

image.png


       用的时候去官网查看吧:

https://mp.baomidou.com/guide/generator-new.html

总结:

       MybatisPlus Generator代码生成器最新版本3.5.1根据数据库表生成代码,新版本添加了Builder方式来配置,别用3.5.0哈,那个版本没法完成数据库的下划线分割映射驼峰命名法命名。



END

目录
相关文章
|
29天前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
87 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
29天前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
2月前
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
5月前
|
Java 数据库连接 Android开发
SSM框架——使用MyBatis Generator自动创建代码
SSM框架——使用MyBatis Generator自动创建代码
45 2
|
4月前
Mybatis-Plus 代码生成器
Mybatis-Plus 代码生成器
|
6月前
|
Java 编译器 数据库
小唐开始学 Spring Boot——(4)代码生成器
小唐开始学 Spring Boot——(4)代码生成器
|
6月前
|
JavaScript 关系型数据库 Java
MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)
MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)
351 0
|
6月前
|
XML Java 数据库连接
MyBatis代码生成器
MyBatis代码生成器
113 0
|
6月前
|
SQL 资源调度 Java
mybatis-plus代码生成器的UI界面使用非常方便
mybatis-plus代码生成器的UI界面使用非常方便
114 0
|
27天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
132 1
下一篇
无影云桌面