MyBatis Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上新增了很多实用的功能,其中的代码生成器可以帮助我们快速生成基础的代码,提升开发效率。
MyBatis Plus 代码生成器是通过配置数据库连接信息、配置表、配置输出路径等,生成对应的 Java 代码,包括实体类、DAO 接口、以及对应的 XML 映射文件,同时也支持生成 Controller、Service、ServiceImpl 等代码。
以下是 MyBatis Plus 代码生成器实现的详细攻略:
1. 添加依赖
在 maven 项目中,我们需要将 MyBatis Plus 代码生成器添加到 pom.xml 中:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>
2. 编写代码生成器类
编写代码生成器类,通过配置数据库连接信息、配置表、配置输出路径等,生成对应的 Java 代码。
public class CodeGenerator {
// 数据库 URL
private static final String URL = "jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC";
// 数据库驱动
private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
// 数据库用户名
private static final String USERNAME = "root";
// 数据库密码
private static final String PASSWORD = "123456";
// 代码生成包名
private static final String PACKAGE_NAME = "com.example.demo";
// 代码生成输出路径
private static final String OUTPUT_DIR = "src/main/java";
// 作者
private static final String AUTHOR = "zhangsan";
public static void main(String[] args) {
// 代码生成器
AutoGenerator generator = new AutoGenerator();
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir") + "/" + OUTPUT_DIR);
globalConfig.setAuthor(AUTHOR);
globalConfig.setOpen(false); // 生成完代码后是否打开输出目录
generator.setGlobalConfig(globalConfig);
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl(URL);
dataSourceConfig.setDriverName(DRIVER_NAME);
dataSourceConfig.setUsername(USERNAME);
dataSourceConfig.setPassword(PASSWORD);
generator.setDataSource(dataSourceConfig);
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent(PACKAGE_NAME);
generator.setPackageInfo(packageConfig);
// 配置需要生成代码的表名
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user", "order"); // 需要生成代码的表名
generator.setStrategy(strategyConfig);
// 执行生成代码操作
generator.execute();
}
}
以上是一个简单的代码生成器类的示例。代码中需要修改的参数有:数据库 URL、数据库驱动、数据库用户名、数据库密码、代码生成包名、代码生成输出路径、需要生成代码的表名。根据实际情况进行修改。
3. 执行代码生成器
执行代码生成器,将会在指定输出路径生成对应的 Java 代码文件。在命令行中运行项目,在代码生成器类中调用 generator.execute()
方法即可完成生成。
示例一:生成 user 表的代码
修改代码生成器类中的 main
方法,将需要生成代码的表名改为 user
:
public static void main(String[] args) {
// 代码生成器
AutoGenerator generator = new AutoGenerator();
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir") + "/" + OUTPUT_DIR);
globalConfig.setAuthor(AUTHOR);
globalConfig.setOpen(false); // 生成完代码后是否打开输出目录
generator.setGlobalConfig(globalConfig);
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl(URL);
dataSourceConfig.setDriverName(DRIVER_NAME);
dataSourceConfig.setUsername(USERNAME);
dataSourceConfig.setPassword(PASSWORD);
generator.setDataSource(dataSourceConfig);
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent(PACKAGE_NAME);
generator.setPackageInfo(packageConfig);
// 配置需要生成代码的表名
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("user"); // 需要生成代码的表名
generator.setStrategy(strategyConfig);
// 执行生成代码操作
generator.execute();
}
执行代码生成器,将会在指定输出路径生成对应的 Java 代码文件,其中包括:User.java
、UserMapper.java
、UserMapper.xml
、UserService.java
、UserServiceImpl.java
。
示例二:生成 order 表的代码
修改代码生成器类中的 main
方法,将需要生成代码的表名改为 order
:
public static void main(String[] args) {
// 代码生成器
AutoGenerator generator = new AutoGenerator();
// 全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir") + "/" + OUTPUT_DIR);
globalConfig.setAuthor(AUTHOR);
globalConfig.setOpen(false); // 生成完代码后是否打开输出目录
generator.setGlobalConfig(globalConfig);
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setUrl(URL);
dataSourceConfig.setDriverName(DRIVER_NAME);
dataSourceConfig.setUsername(USERNAME);
dataSourceConfig.setPassword(PASSWORD);
generator.setDataSource(dataSourceConfig);
// 包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent(PACKAGE_NAME);
generator.setPackageInfo(packageConfig);
// 配置需要生成代码的表名
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setInclude("order"); // 需要生成代码的表名
generator.setStrategy(strategyConfig);
// 执行生成代码操作
generator.execute();
}
执行代码生成器,将会在指定输出路径生成对应的 Java 代码文件,其中包括:Order.java
、OrderMapper.java
、OrderMapper.xml
、OrderService.java
、OrderServiceImpl.java
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis Plus 代码生成器的实现 - Python技术站