MyBatis-Plus代码生成器——无需记忆,一键复制即可,做一个高效的Java CV工程师!!!
MybatisPlus代码生成器,用于自动生成与数据库表对应的实体类、Mapper接口、Mapper XML文件、Service接口及实现类、Controller类等,支持自定义配置,大大提高了开发效率。
主要步骤
-
创建代码生成器实例:
1AutoGenerator mpg = new AutoGenerator();
实例化MyBatis-Plus的代码生成器
AutoGenerator
。 -
全局配置 (
GlobalConfig gc
):- 指定输出目录为项目的Java源码路径。
- 设置Service接口名移除前缀"I"。
- 设置作者名。
- 开启或关闭生成后自动打开输出目录。
-
数据源配置 (
DataSourceConfig dsc
):- 配置数据库连接信息,包括URL、驱动类名、用户名、密码以及数据库类型。
-
包配置 (
PackageConfig pc
):- 设置父包名、模块名以及各层的包名,如Controller、Service、Mapper等。
-
策略配置 (
StrategyConfig strategy
):- 指定需要生成哪些表的代码。
- 命名策略:将数据库表名及列名从下划线命名转换为驼峰命名。
- 使用Lombok简化实体类代码。
- 控制器采用REST风格,并且URL中的驼峰命名转换为连字符形式。
-
执行代码生成:
1mpg.execute();
调用
execute
方法开始根据上述配置生成代码。
全部代码片段,无需记忆,一键复制即可,做一个高效的Java CV工程师!!!
package com.mufeng.code;
import com.baomidou.mybatisplus.annotation.DbType;
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 CodeGet {
public static void main(String[] args) {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全局配置
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("项目路径"+"/src/main/java");
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setAuthor("mufeng");
gc.setOpen(false);
mpg.setGlobalConfig(gc);
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/guigu-oa?serverTimezone=GMT%2B8&useSSL=false");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.mufeng");
pc.setModuleName("auth"); //模块名
pc.setController("controller");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("数据库表名");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
mpg.setStrategy(strategy);
// 6、执行
mpg.execute();
}
}
注:
- 你需要做的是将其中的
"项目路径"
替换为你的项目实际路径, "jdbc:mysql://localhost:3306/guigu-oa?serverTimezone=GMT%2B8&useSSL=false"
替换为你的数据库连接地址,"root"
和"123456"
替换为你的数据库用户名和密码,"数据库表名"
替换为你需要生成代码的数据库表名。- 此外,如果你使用的是其他数据库,你可能需要调整
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
中的驱动名,以及dsc.setDbType(DbType.MYSQL);
中的数据库类型。 - 最后,你可以根据自己的需求调整生成的代码的包名、模块名、以及生成策略,比如是否使用 Lombok、是否生成 Restful 风格的 Controller 等。
总结:
此代码片段对于快速搭建基于MyBatis-Plus的Spring Boot或Spring MVC项目非常有用,它自动化了大部分基础架构代码的创建过程,使开发者能更专注于业务逻辑的实现。通过修改配置项,可以灵活适应不同的项目结构和命名约定,提高开发效率并保持代码风格的一致性。