Mybatis-11-MybatisPlus Generator代码生成器

简介: MybatisPlus也提供了代码生成器,并且更加厉害,能直接生成controller、service、mapper、xml等

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

       今天来搭建一个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都自动建立了呢!

官网对属性做了简单的注释,用的时候去官网查看吧。

总结:

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


END


目录
相关文章
|
5月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1011 1
Spring boot 使用mybatis generator 自动生成代码插件
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
1846 5
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
597 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
703 1
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
Java 数据库连接 Android开发
SSM框架——使用MyBatis Generator自动创建代码
SSM框架——使用MyBatis Generator自动创建代码
156 2
|
JavaScript 关系型数据库 Java
MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)
MyBatisPlus 最新版代码生成器(直接拿来就能用,包含自动生成 Vue 模版)
3057 0
|
XML Java 数据库连接
MyBatis代码生成器
MyBatis代码生成器
278 0
|
8月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
689 0
下一篇
oss云网关配置