mybatisplus生成dto
时间: 2023-08-29 18:14:16 浏览: 125
扩展MyBatisPlus代码生成器实现自定义源码生成,可生成前端页面、vo对象、dto对象等代码
MyBatis-Plus 并没有提供直接生成 DTO(Data Transfer Object)的功能,但可以通过自定义代码生成器模板来生成 DTO 类。
首先,你需要配置 MyBatis-Plus 的代码生成器。在 pom.xml(如果是 Maven 项目)或 build.gradle(如果是 Gradle 项目)文件中添加 MyBatis-Plus 依赖:
```xml
<!-- Maven -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>latest_version</version>
</dependency>
```
```groovy
// Gradle
implementation 'com.baomidou:mybatis-plus-generator:latest_version'
```
然后,在项目中创建一个用于自定义代码生成器的类,例如 `CodeGenerator.java`。在该类中,你可以自定义生成器的配置和模板。
```java
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class CodeGenerator {
public static void main(String[] args) {
// 1. 全局配置
GlobalConfig globalConfig = new GlobalConfig()
.setOutputDir(System.getProperty("user.dir") + "/src/main/java")
.setAuthor("YourName")
.setOpen(false)
.setIdType(IdType.AUTO)
.setDateType(DateType.ONLY_DATE)
.setServiceName("%sService")
.setBaseResultMap(true)
.setBaseColumnList(true);
// 2. 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig()
.setDbType(DbType.MYSQL)
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai")
.setUsername("your_username")
.setPassword("your_password");
// 3. 包名配置
PackageConfig packageConfig = new PackageConfig()
.setParent("com.example")
.setEntity("entity")
.setMapper("mapper")
.setService("service")
.setServiceImpl("service.impl")
.setController("controller")
.setXml("mapper");
// 4. 策略配置
StrategyConfig strategyConfig = new StrategyConfig()
.setNaming(NamingStrategy.underline_to_camel)
.setColumnNaming(NamingStrategy.underline_to_camel)
.setEntityLombokModel(true)
.setRestControllerStyle(true)
.setLogicDeleteFieldName("delete_flag")
.setEntityTableFieldAnnotationEnable(true)
.setControllerMappingHyphenStyle(true)
.setEntitySerialVersionUID(true)
.setEntityBuilderModel(true)
.setEntityTableFieldAnnotationEnable(true);
// 5. 模板配置(可根据需求自定义)
TemplateConfig templateConfig = new TemplateConfig()
.setEntity("/templates/entity.java")
.setMapper("/templates/mapper.java")
.setService("/templates/service.java")
.setServiceImpl("/templates/serviceImpl.java")
.setController("/templates/controller.java")
.setXml(null);
// 6. 执行代码生成器
AutoGenerator autoGenerator = new AutoGenerator()
.setGlobalConfig(globalConfig)
.setDataSource(dataSourceConfig)
.setPackageInfo(packageConfig)
.setStrategy(strategyConfig)
.setTemplate(templateConfig)
.execute();
}
}
```
在上述代码中,你可以根据自己的需求修改全局配置、数据源配置、包名配置、策略配置以及模板配置。模板配置可以根据你的需要自定义生成的代码模板。
最后,运行 `CodeGenerator` 类,即可根据配置生成相应的 DTO 类。生成的文件将会出现在指定的包路径下。
希望这可以帮助到你生成 MyBatis-Plus 的 DTO 类!如有任何疑问,请随时提问。
阅读全文