使用Mybatis Plus深度解析CodeGenerator代码生成器
版权申诉
188 浏览量
更新于2024-09-11
收藏 137KB PDF 举报
"这篇文章主要讲解如何使用Mybatis Plus的代码生成器CodeGenerator,通过实例代码进行详尽的解析,适用于学习或工作的辅助工具。"
在Java开发中,Mybatis Plus是一个强大的Mybatis扩展,它提供了丰富的 CRUD 操作以及简化了许多数据库操作。而CodeGenerator是Mybatis Plus的一部分,它能自动生成基于数据库表的Java实体类、Mapper接口、Mapper XML 文件以及Service和Controller等代码,极大地提高了开发效率。以下将详细介绍如何基于Mybatis Plus实现代码生成器CodeGenerator。
首先,要使用CodeGenerator,需要在项目的pom.xml文件中添加必要的依赖。这些依赖包括Mybatis Plus的生成器模块(mybatis-plus-generator)、Velocity引擎、FreeMarker模板引擎和Beetl模板引擎。以下是相关的Maven依赖坐标:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.29</version>
</dependency>
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl</artifactId>
<version>3.0.11.RELEASE</version>
</dependency>
```
接下来,你需要创建一个Java程序来启动代码生成器。以下是一个简单的例子,展示了如何配置并启动CodeGenerator:
```java
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.TemplateConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGeneratorMain {
public static void main(String[] args) {
// 创建AutoGenerator对象
AutoGenerator mpg = new AutoGenerator();
// 配置全局属性
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("src/main/java");
gc.setAuthor("YourName");
gc.setOpen(false); // 是否打开输出目录
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("password");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example"); // 设置父包名
pc.setEntity("entity"); // 实体类路径
pc.setMapper("mapper"); // Mapper接口路径
pc.setXml("mapper"); // Mapper XML文件路径
pc.setService("service"); // Service接口路径
pc.setServiceImpl("service.impl"); // Service实现类路径
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel); // 表名转为驼峰命名
strategy.setTablePrefix("t_"); // 设置表前缀
strategy.setInclude(new String[]{"user"}); // 需要生成的表名,多个用逗号分隔
mpg.setStrategy(strategy);
// 模板配置
TemplateConfig tc = new TemplateConfig();
// 关闭自定义模板
tc.setEntity(null);
tc.setMapper(null);
tc.setService(null);
tc.setServiceImpl(null);
tc.setController(null);
mpg.setTemplate(tc);
// 执行生成
mpg.execute();
}
}
```
在这个例子中,我们配置了全局设置(如作者信息和输出目录)、数据源(数据库连接信息)、包配置(生成的代码所在包路径)以及策略配置(命名规则和要生成的表)。执行`mpg.execute();`后,CodeGenerator会根据配置自动生成相应的代码。
在实际开发中,你可以根据自己的需求调整配置,比如选择不同的模板引擎、改变命名策略或者自定义模板,以满足特定的代码生成需求。同时,也可以将这些配置信息保存到配置文件中,方便重复使用和管理。
总结来说,Mybatis Plus的CodeGenerator是提高开发效率的有效工具,通过它可以快速地生成基于数据库表的Java代码,减少了手动编写这些基础代码的工作量,使得开发者可以更加专注于业务逻辑的实现。通过理解和熟练使用CodeGenerator,能够使开发过程更加高效和便捷。
2015-12-15 上传
2020-04-24 上传
2018-08-16 上传
2024-07-03 上传
2023-07-28 上传
2023-03-27 上传
2023-06-07 上传
2023-08-26 上传
2023-09-02 上传
weixin_38673812
- 粉丝: 4
- 资源: 904
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展