写一份mybatisplus比较全的代码生成器
时间: 2023-07-10 08:13:20 浏览: 95
好的,以下是一份比较全的MybatisPlus代码生成器:
```java
package com.example.generator;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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.rules.NamingStrategy;
public class CodeGenerator {
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("your name");
gc.setOpen(false);
// 主键策略
gc.setIdType(IdType.ID_WORKER);
// Service 命名方式
gc.setServiceName("%sService");
// Service 实现类后缀
gc.setServiceImplName("%sServiceImpl");
// Controller 命名方式
gc.setControllerName("%sController");
// 是否覆盖已有文件
gc.setFileOverride(false);
// 是否在xml中添加二级缓存配置
gc.setEnableCache(false);
// XML ResultMap
gc.setBaseResultMap(true);
// XML ColumnList
gc.setBaseColumnList(true);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setUrl("jdbc:mysql://localhost:3306/mybatisplus?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.setInclude("user");
// 数据库表映射到实体的命名策略
strategy.setNaming(NamingStrategy.underline_to_camel);
// 数据库字段映射到实体的命名策略
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 实体类是否为lombok模型(默认 false)
strategy.setEntityLombokModel(true);
// 是否生成实体时,生成字段注解
strategy.setEntityTableFieldAnnotationEnable(true);
// 是否生成 @RestController 控制器
strategy.setRestControllerStyle(true);
// Controller公共父类
strategy.setSuperControllerClass("com.example.common.BaseController");
// Service公共父类
strategy.setSuperServiceClass("com.baomidou.mybatisplus.extension.service.IService");
// ServiceImpl公共父类
strategy.setSuperServiceImplClass("com.baomidou.mybatisplus.extension.service.impl.ServiceImpl");
// Mapper公共父类
strategy.setSuperMapperClass("com.baomidou.mybatisplus.core.mapper.BaseMapper");
mpg.setStrategy(strategy);
// 执行生成
mpg.execute();
}
}
```
其中,需要根据实际情况修改数据库连接信息、包名、表名等参数。执行 main 方法即可生成相应的代码。
阅读全文