MP 代码生成器
准备工作
-
创建
springboot工程,导入相关依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 代码生成器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> <!-- 模板引擎 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.3</version> </dependency> </dependencies> -
创建一个AutoMapper类
package com.cmy; import com.baomidou.mybatisplus.generator.AutoGenerator; public class AutoMapper { public static void main(String[] args) { // 创建 AutoGenerate ,MP 中的对象 AutoGenerator autoGenerator = new AutoGenerator(); }
全局配置
// 设置全局配置
GlobalConfig globalConfig = new GlobalConfig();
// 设置代码生成的位置
String path = System.getProperty("user.dir");
globalConfig.setOutputDir(path + "/src" + "/main" + "/java");
// 设置生成的类的名称(命名规则)
globalConfig.setMapperName("%sMapper"); // 所有的 Dao 类都是以 Mapper 结尾的
// 设置 Service 接口的名称
globalConfig.setServiceName("%sService");
// 设置 Service 实现类的名称
globalConfig.setServiceImplName("%sServiceImpl");
// 设置 Controller 类
globalConfig.setControllerName("%sController");
// 设置作者
globalConfig.setAuthor("chenmingyong");
// 设置主键 id 的配置
globalConfig.setIdType(IdType.AUTO);
// 将 globalConfig 配置添加到 autoGenerator里面
autoGenerator.setGlobalConfig(globalConfig);
数据源配置
// 设置数据源DataSource
DataSourceConfig dataSourceConfig = new DataSourceConfig();
// 驱动
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
// 设置 url
dataSourceConfig.setUrl("jdbc:mysql://127.0.0.1/mybatisplus?useUnicode=true&characterEncoding=utf-8");
// 设置数据库的用户名
dataSourceConfig.setUsername("root");
// 设置数据库的密码
dataSourceConfig.setPassword("root");
// 将 dataSourceConfig 配置添加到 autoGenerator里面
autoGenerator.setDataSource(dataSourceConfig);
包配置
// 设置 Package 信息
PackageConfig packageConfig = new PackageConfig();
// 设置模块名称,相当于包名,在这个包下面有 mapper, service, controller
packageConfig.setModuleName("order"); // 比如模块是订单模块
// 设置父包的名称
packageConfig.setParent("com.cmy"); // com.cmy.order
// 将 packageConfig 配置添加到 autoGenerator里面
autoGenerator.setPackageInfo(packageConfig);
设置策略
// 设置策略
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
// 设置支持驼峰命名规则
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
// 将 strategyConfig 配置添加到 autoGenerator里面
autoGenerator.setStrategy(strategyConfig);
全部代码
package com.cmy;
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 AutoMapper {
public static void main(String[] args) {
// 创建 AutoGenerate ,MP 中的对象
AutoGenerator autoGenerator = new AutoGenerator();
// 设置全局配置
GlobalConfig globalConfig = new GlobalConfig();
// 设置代码生成的位置
String path = System.getProperty("user.dir");
globalConfig.setOutputDir(path + "/src" + "/main" + "/java");
// 设置生成的类的名称(命名规则)
globalConfig.setMapperName("%sMapper"); // 所有的 Dao 类都是以 Mapper 结尾的
// 设置 Service 接口的名称
globalConfig.setServiceName("%sService");
// 设置 Service 实现类的名称
globalConfig.setServiceImplName("%sServiceImpl");
// 设置 Controller 类
globalConfig.setControllerName("%sController");
// 设置作者
globalConfig.setAuthor("chenmingyong");
// 设置主键 id 的配置
globalConfig.setIdType(IdType.AUTO);
// 将 globalConfig 配置添加到 autoGenerator里面
autoGenerator.setGlobalConfig(globalConfig);
// 设置数据源DataSource
DataSourceConfig dataSourceConfig = new DataSourceConfig();
// 驱动
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
// 设置 url
dataSourceConfig.setUrl("jdbc:mysql://127.0.0.1/mybatisplus?useUnicode=true&characterEncoding=utf-8");
// 设置数据库的用户名
dataSourceConfig.setUsername("root");
// 设置数据库的密码
dataSourceConfig.setPassword("root");
// 将 dataSourceConfig 配置添加到 autoGenerator里面
autoGenerator.setDataSource(dataSourceConfig);
// 设置 Package 信息
PackageConfig packageConfig = new PackageConfig();
// 设置模块名称,相当于包名,在这个包下面有 mapper, service, controller
packageConfig.setModuleName("order"); // 比如模块是订单模块
// 设置父包的名称
packageConfig.setParent("com.cmy"); // com.cmy.order
// 将 packageConfig 配置添加到 autoGenerator里面
autoGenerator.setPackageInfo(packageConfig);
// 设置策略
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
// 设置支持驼峰命名规则
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
// 将 strategyConfig 配置添加到 autoGenerator里面
autoGenerator.setStrategy(strategyConfig);
// 执行代码生成
autoGenerator.execute();
}
}

本文介绍如何使用MyBatis-Plus代码生成器快速生成SpringBoot项目的CRUD代码,包括创建工程、配置全局参数、数据源、包结构及代码生成策略。
2977

被折叠的 条评论
为什么被折叠?



