介绍
在软件开发过程中,为了提高开发效率和保持代码规范一致性,使用代码生成器是一个常见的选择。MyBatis-Plus提供了一个强大的代码生成器,能够根据数据库表结构生成对应的实体类、Mapper接口、Service接口等代码。本文将详细介绍如何配置和使用MyBatis-Plus代码生成器,并通过实际示例演示整个过程。
项目配置
首先,我们需要配置代码生成器的一些基本信息,包括输出目录、作者信息、数据源配置等。下面是一个简单的配置示例:
// CodeGenerator.java
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;
import org.junit.jupiter.api.Test;
/**
* MyBatis-Plus代码生成器配置
*/
public class CodeGenerator {
@Test
public void run() {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir") + "/src/main/java");
gc.setAuthor("hhh");
gc.setOpen(false);
gc.setServiceName("%sService");
gc.setIdType(IdType.ASSIGN_ID);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://192.168.1.162:13306/hszw_oa?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&useTimezone=true&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("Mysql.123456");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.fjsst.oa.module.supv");
pc.setController("controller");
pc.setEntity("domain");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("flow_flow_node");
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setTablePrefix("flow_");
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setControllerMappingHyphenStyle(true);
mpg.setStrategy(strategy);
// 执行生成
mpg.execute();
}
}
代码复制就能用
配置说明
全局配置(GlobalConfig)
outputDir
:代码生成的输出目录。author
:作者名称。serviceName
:Service接口的名称。idType
:主键生成策略。open
:生成后是否打开文件夹。- ...
数据源配置(DataSourceConfig)
url
:数据库连接地址。driverName
:数据库驱动。username
:数据库用户名。password
:数据库密码。- ...
包配置(PackageConfig)
parent
:项目的基础包名。controller
:Controller包名。entity
:实体类包名。service
:Service包名。mapper
:Mapper包名。- ...
策略配置(StrategyConfig)
include
:需要生成的表。naming
:数据库表映射到实体的命名策略。tablePrefix
:生成实体时去掉的表前缀。entityLombokModel
:是否使用Lombok。restControllerStyle
:是否生成RestController。- ...
执行生成
配置完成后,执行 run
方法即可生成代码。执行完毕后,你将在指定的输出目录下看到生成的实体类、Mapper接口、Service接口等代码文件。
// 在 CodeGenerator.java 文件中
public class CodeGenerator {
@Test
public void run() {
// ...(省略其他配置)
// 执行生成
mpg.execute();
}
}
以上配置仅为简单示例,具体根据项目实际需求进行配置。
总结
MyBatis-Plus代码生成器是一个强大的工具,可以大大提高项目开发效率。通过本文的介绍,你已经对如何配置和使用代码生成器有了一定的了解。在实际项目中,根据需求合理配置生成规则,可以更好地适应项目结构和规范。
希望本文对你有所帮助,欢迎留言讨论。