MyBatisPlus3.4.3版自动生成代码的使用过程
AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。
1 准备工作
创建springboot工程,这里省略。
2 导入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- mybatisplus依赖,注意不用引入mybatis依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.3.4</version> </dependency> <!-- mysql依赖可换成对应版本 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.26</version> </dependency> <!-- mybatis-plus代码生成器依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version> </dependency> <!-- 自动生成代码的模板引擎,mybatis-plus默认的--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency> <!-- 由于生成的controller会用到web的注解--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
3 创建CodeGeneratorTest类
需要对
- 数据源配置,(自己数据库对应的url,username,password等)
- 全局配置, (作者信息,输出目录等)
- 包配置, (Entity、Mapper、Mapper XML、Service、Controller 等各个模块的包命名等)
- 策略配置, (配置生成那些表,怎么生成等)
- 模板配置
- 注入配置
注意以下路径需要修改为实制项目路径,要生成的数据库表名需要修改为实制的,数据库源url修改为对应的数据源
import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery; import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler; import org.junit.Test; import java.util.Collections; /** * @author: wuKeFan * @date: 2022/2/24 10:39 * @version 1.0 */ public class CodeGeneratorTest { @Test public void run() { FastAutoGenerator.create( //数据源配置,url需要修改 new DataSourceConfig.Builder("url","username","password") .dbQuery(new MySqlQuery()) .schema("schema") .typeConvert(new MySqlTypeConvert()) .keyWordsHandler(new MySqlKeyWordsHandler()) ) //全局配置 .globalConfig(builder -> { builder.author("wuKeFan") // 设置作者 //.disableOpenDir()//禁止打开输出目录 //.enableSwagger() // 开启 swagger 模式 .fileOverride() // 覆盖已生成文件 .outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定输出目录 }) //包配置 .packageConfig(builder -> { builder.parent("com.wkf.workrecord.tools.autocode") // 设置父包名,根据实制项目路径修改 .moduleName("web") // 父包名路径下再新建的文件夹 .entity("entity") // 后面这些是sys文件夹里新建的各分类文件夹 .service("service") .serviceImpl("service.impl") .mapper("mapper") .xml("mapper.xml") .controller("controller") //.other("other") .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"/src/main/java/com/wkf/workrecord/tools/autocode/web/mapper/xml")); // 存放mapper.xml路径 }) //策略配置 .strategyConfig(builder -> { builder.addInclude("jm_fxy_apply_staging_plan_code") // 设置需要生成的表名 .addTablePrefix("jm_") // 设置过滤表前缀 .entityBuilder() //实体类配置 .enableLombok() //使用lombok .enableTableFieldAnnotation()//实体类字段注解 .controllerBuilder()//controller配置 .enableRestStyle()//开启restcontroller .mapperBuilder() .enableMapperAnnotation()//开启mapper注解 .enableBaseResultMap()//启用 BaseResultMap 生成 .enableBaseColumnList();//启用 BaseColumnList }) //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 .execute(); } }
4 运行代码生成器
点击运行上面的main方法就能自动生成了
生成的效果图:
这样代码生成器就写好了,如果需要其他格式模板可以自行参考下面的配置,自行修改
5 数据库配置(DataSourceConfig)
5.1 基础配置
5.2 可选配置
5.3 全局配置(GlobalConfig)
5.4 包配置(PackageConfig)
5.5 模板配置(TemplateConfig)
5.6 注入配置(InjectionConfig)
5.7 策略配置(StrategyConfig)
5.8 Entity 策略配置
5.9 Controller 策略配置
5.10 Service 策略配置
5.11 Mapper 策略配置
到此这篇关于MyBatisPlus3.4.3版自动生成代码的使用的文章就介绍到这了,更多相关MyBatisPlus自动生成代码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java日期时间类(Date、DateFormat、Calendar)解析
这篇文章主要介绍了Java日期时间类(Date、DateFormat、Calendar)解析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-06-06Java里得到00:00:00格式的时分秒的Timestamp
Java里如何得到00:00:00格式的时分秒的Timestamp ,下面是具体的实现代码,需要的朋友可以参考下。2009-09-09maven <repositories>标签和<pluginRepositories>标签的使用
这篇文章主要介绍了maven <repositories>标签和<pluginRepositories>标签的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07java ArrayList集合中的某个对象属性进行排序的实现代码
这篇文章主要介绍了java ArrayList集合中的某个对象属性进行排序的实现代码,需要的朋友可以参考下2016-07-07序列化版本号serialVersionUID的作用_动力节点Java学院整理
Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象,这篇文章主要介绍了序列化版本号serialVersionUID的作用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05
最新评论