mybatisplus 代码生成器
时间: 2023-09-08 18:11:49 浏览: 117
MyBatis Plus提供了一个强大的代码生成器,它可以帮助我们自动生成MyBatis Plus框架的代码。要使用代码生成器,我们需要完成以下步骤:
1. 配置数据库连接:在项目的配置文件中,配置数据库相关信息,例如数据库驱动、连接地址、用户名和密码等。
2. 添加依赖:在项目的pom.xml文件中添加MyBatis Plus的依赖项。
3. 配置代码生成器:在项目的配置文件中,配置代码生成器相关信息,例如输出路径、包名、表名等。
4. 运行代码生成器:编写一个Java类,使用MyBatis Plus提供的代码生成器API,创建并执行生成代码的任务。
下面是一个示例代码,演示了如何使用MyBatis Plus的代码生成器生成Mapper、Service、Controller等代码:
```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.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.List;
public class CodeGenerator {
public static void main(String[] args) {
// 1. 全局配置
GlobalConfig globalConfig = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
globalConfig.setOutputDir(projectPath + "/src/main/java");
globalConfig.setAuthor("Your Name");
globalConfig.setOpen(false);
globalConfig.setIdType(IdType.AUTO);
globalConfig.setDateType(DateType.ONLY_DATE);
// 2. 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf8&useSSL=false");
dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
// 3. 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example.mybatisplus");
packageConfig.setModuleName("module");
// 4. 策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
strategyConfig.setEntityLombokModel(true);
strategyConfig.setRestControllerStyle(true);
strategyConfig.setControllerMappingHyphenStyle(true);
List<TableFill> tableFillList = new ArrayList<>();
tableFillList.add(new TableFill("create_time", FieldFill.INSERT));
tableFillList.add(new TableFill("update_time", FieldFill.INSERT_UPDATE));
strategyConfig.setTableFillList(tableFillList);
// 5. 自定义配置
InjectionConfig injectionConfig = new InjectionConfig() {
@Override
public void initMap() {
// do nothing
}
};
// 6. 代码生成器
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig);
autoGenerator.setDataSource(dataSourceConfig);
autoGenerator.setPackageInfo(packageConfig);
autoGenerator.setStrategy(strategyConfig);
autoGenerator.setCfg(injectionConfig);
// 7. 执行生成代码任务
autoGenerator.execute();
}
}
```
在运行这个代码之前,请确保数据库连接信息正确,并且已经在数据库中创建了相应的表。执行代码后,生成的代码将会保存在指定的输出路径下,我们可以在项目中直接使用这些生成的代码。
希望对你有所帮助!如果有更多问题,请随时提问。
阅读全文