MyBatis-Plus代码生成器如何使用(最新版)

一、引入依赖

		<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>${mybatis.plus.generator}</version>
            <scope>test</scope>
            <optional>true</optional>
        </dependency>
        
        <!-- mybatis-plus-generator中已有依赖,直接引入即可 -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <scope>test</scope>
            <optional>true</optional>
        </dependency>

备注:这里mybatis-plus-generator的最新版本是3.5.2


二、代码示例


public class MybatisPlusCodeAutoGeneration {

	private static final String URL = "jdbc:mysql://localhost:3306/rbac";
	private static final String USERNAME = "root";
	private static final String PASSWORD = "root";

	/**
	 * 自动生成代码输出目录,这里默认类路径下的src/test/java/com/universe包下,即当前工程的test目录下。
	 */
	private static final String OUTPUT_DIR = System.getProperty("user.dir") + File.separator + "src/test/java/com/universe";

	public static void main(String[] args) {
		FastAutoGenerator.create(URL, USERNAME, PASSWORD)
			// 开启fileOverrride重新旧文件,disableOpenDir禁用代码生成后打开输出目录对话框
			.globalConfig(builder -> builder.author("liuyalou").fileOverride().disableOpenDir().outputDir(OUTPUT_DIR))
			// parent指定生成的代码在哪个包下,entity可以指定实体(DO)所在的包名
			.packageConfig(builder -> builder.parent("com.universe").entity("pojo.domain"))
			// addInclude指定包含的表名,不调用该方法默认为所有表生成代码;addTablePrefix可以过滤表前缀,即t_user变成user
			.strategyConfig(builder -> builder.addInclude("t_user").addTablePrefix("t_")
				// 禁用为实体类生成序列化ID;formatFileName格式化生成的实体类名称,即t_user -> UserDO
				.entityBuilder().disableSerialVersionUID().formatFileName("%sDO")
				// formatMapperFileName格式化Mapper接口名称,即t_user -> UserMapper
				// formatXmlFileName格式化Mapper.xml文件名称,即t_user -> UserMapper.xml
				.mapperBuilder().formatMapperFileName("%sMapper").formatXmlFileName("%sMapper")
				.build()
			)
			// MyBatis-Plus代码生成器是通过模板引擎来渲染文件的,默认模板引擎是Velocity,根据依赖我们使用Freemarker
			.templateEngine(new FreemarkerTemplateEngine())
			.execute();
	}

}

备注:
1、具体配置参考 MyBatis Plus代码生成器配置
2、更多代码示例参考 MyBatis Plus Generator代码示例


三、测试结果

1、控制台输出

16:43:03.444 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================准备生成文件...==========================
16:43:03.910 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 执行SQL:show table status WHERE 1=1  AND NAME IN ('t_user')
16:43:03.958 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 返回记录数:1,耗时(ms):45
16:43:04.016 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 执行SQL:show full fields from `t_user`
16:43:04.030 [main] DEBUG com.baomidou.mybatisplus.generator.config.querys.MySqlQuery - 返回记录数:8,耗时(ms):28
16:43:04.246 [main] DEBUG com.baomidou.mybatisplus.generator.AutoGenerator - ==========================文件生成完成!!!==========================

2、生成的代码

可以看到com.universe包下有自动生成的代码,如下:
在这里插入图片描述

备注:建议配置packageConfig(builder -> builder.parent("com.universe"))时,包名与实际工程包目录结构保持一致,这样生成的代码不用修改可以直接复制。

在这里插入图片描述

### 回答1: mybatis-plus 是一个基于 MyBatis 的增强工具,在实现 MyBatis 基本功能的同时,提供了很多实用的增强功能,例如:自动代码生成、分页插件、性能分析插件、乐观锁插件等。 mybatis-plus代码生成器可以快速生成实体类、mapper 接口、mapper.xml 文件等。使用代码生成器可以减少重复劳动,提高开发效率。使用 mybatis-plus代码生成器需要在配置文件中添加相关配置,例如:数据库连接信息、生成文件路径、生成策略等。配置完成后,运行代码生成器即可生成相关文件。 下面是一个使用 mybatis-plus 代码生成器的示例: 1.在 pom.xml 文件中添加依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>最新版本</version> </dependency> ``` 2.在配置文件中添加相关配置: ``` # 数据库连接信息 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=root # mybatis-plus 代码生成器配置 mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0 mybatis-plus.generator.outputDir=src/main/java mybatis-plus.generator.author=作者 mybatis-plus.generator.serviceName=%sService mybatis-plus.generator.mapperName=%sMapper mybatis-plus.generator.xmlName=%sMapper mybatis-plus.generator.tableName=表名 ``` 3.运行代码生成器 ``` public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); gc.setAuthor("作者"); gc.setOpen(false); gc.setServiceName("%sService"); gc.setMapperName("%sMapper"); gc.setXmlName("%sMapper"); gc.setBaseResultMap(true); gc.setBaseColumnList(true); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8"); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.example"); pc.setEntity("entity"); pc.setMapper("mapper"); pc.setService("service"); pc.setServiceImpl("service.impl"); pc.setController("controller"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setControllerMappingHyphenStyle(true); strategy.setInclude("表名"); strategy.setLogicDeleteFieldName("deleted"); strategy.setVersionFieldName("version"); strategy.setTablePrefix("t_"); mpg.setStrategy(strategy); //mybatis-plus 是一个基于 MyBatis 的增强工具,它能够简化 MyBatis使用,提高开发效率,减少开发人员的重复工作。它能够自动生成 MyBatis 的 mapper 以及 XML 文件,支持常用的 CRUD 操作,还提供了许多实用的特性,如分页、逻辑删除、多租户支持等。 使用 mybatis-plus代码生成器可以进一步提高开发效率。代码生成器能够根据数据库表自动生成 entity、mapper、service、controller 等基础代码,极大地减少了开发人员的编码工作量。使用 mybatis-plus 代码生成器可以快速生成标准化的代码,提高代码的可读性和可维护性,同时也减少了开发人员的错误率。 要使用 mybatis-plus 代码生成器,首先需要在项目中添加 mybatis-plus 依赖,然后在配置文件中指定数据库连接信息、生成代码的包路径等相关信息。在配置完成后,运行代码生成器即可自动生成基础代码。 ### 回答2: Mybatis-Plus 代码生成器是一种能够帮助开发者快速生成 Mybatis-Plus 代码的工具。该工具是基于 Mybatis-Plus 和 Velocity 模板引擎开发的,使用它可以大大提升开发效率,减少代码重复工作。 Mybatis-Plus 代码生成器支持生成多种类型的代码文件,包括 Entity、Mapper、Service、Controller 等,还能够自动生成基本的 CRUD 方法,避免了开发者手动编写这些方法的繁琐过程。此外,代码生成器还支持自定义模板文件,可以根据需求自定义生成的代码格式。 使用 Mybatis-Plus 代码生成器可以简化开发流程,减少开发人员的劳动量,提高代码的可维护性。此外,还可以统一代码规范和风格,从而提高代码的可读性和可维护性。 总体来说,Mybatis-Plus 代码生成器是一个非常实用的工具,能够提高开发效率,减少代码重复工作,值得开发人员学习和使用。同时,在使用代码生成器的过程中也需要注意不要过度依赖,需要根据实际需求进行选择和使用。 ### 回答3: Mybatis-Plus是一款优秀的ORM框架,它的代码生成器可以大大缩短我们开发的时间成本,提高我们的代码质量和可读性。下面我们来详细介绍一下Mybatis-Plus代码生成器使用Mybatis-Plus代码生成器主要有如下功能: 1. 自动生成实体类 代码生成器可以根据我们的数据库表结构自动生成对应的实体类。我们只需要配置好数据库连接信息以及对应的表名,就可以生成JavaBean,并且可以指定实体名和字段名的命名规则。生成的实体类中包含了对应表中的字段以及 setter和getter方法。 2. 自动生成Mapper类 Mapper类是我们用来操作数据库的接口,代码生成器可以根据我们配置的表结构自动生成Mapper接口,并且让我们能够通过注解的方式进行SQL语句的编写。同时,生成的Mapper类也包含了一些Mybatis-Plus自带的基本方法,如增删改查等。 3. 自动生成XML映射文件 XML映射文件是我们用于将Java和数据库中数据进行映射的文件。代码生成器可以根据我们的表结构自动生成对应的XML文件,并且让我们可以在其中使用自定义的SQL语句,以及Mybatis-Plus自带的一些SQL语句。 使用Mybatis-Plus代码生成器的优点: 1. 减少编写代码的工作量 代码生成器可以根据我们的表结构自动生成大量的Java和XML代码,减少我们的编写代码的工作量,同时让我们不容易犯错。 2. 缩短开发周期 通过使用代码生成器,我们可以快速生成Java代码,并且可以直接运行自己的SQL语句。这使得我们可以更快地上手项目,并且缩短开发周期。 3. 提高代码质量和可读性 代码生成器能够根据我们的表结构生成代码,这使得我们的代码质量更高,并且让代码更易于阅读和维护。同时,代码生成器会自动将代码规范化,这使得我们的代码更加规范和统一。 总结: Mybatis-Plus代码生成器是一个非常实用的工具,能够大大缩短我们的开发时间和工作量,提高我们的代码质量和可读性。同时,它还具有非常多的灵活性和自定义功能,可以满足不同开发人员的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nick说说前后端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值