使用MyBatis-plus自动生成代码

使用使用MyBatis-plus可以快速生成代码,让你脱离建包的痛苦

首先导一下三个包

mybatis-plus-boot-starter
mybatis-plus-generator
velocity-engine-core

直接上一个我经常使用的代码:

复制代码
public class CodeGenerator {

  @Test
  public void getCode() {
    // 1、创建代码生成器
    AutoGenerator mpg = new AutoGenerator();
      
    // 2、全局配置
    GlobalConfig gc = new GlobalConfig();
    /*
    String projectPath = System.getProperty("user.dir");
    System.out.println(projectPath);
    */
    gc.setOutputDir("D:\\tools\\maven_project\\blb_parent\\service\\service_edu" + "/src/main/java");//1.修改为你项目的目录
    gc.setAuthor("zf");
    gc.setOpen(false); //生成后是否打开资源管理器
    gc.setFileOverride(false); //重新生成时文件是否覆盖
    /*
     * mp生成service层代码,默认接口名称第一个字母有I
     * UcenterService
     * */
    gc.setServiceName("%sService"); //去掉Service接口的首字母I
    gc.setIdType(IdType.ASSIGN_ID); //主键策略
    gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
    gc.setSwagger2(true);//开启Swagger2模式
    mpg.setGlobalConfig(gc);
      
    // 3、数据源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/blb_edu?serverTimezone=GMT%2B8");//2.修改为你数据库的名字,用户名,密码
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("root");
    dsc.setDbType(DbType.MYSQL);
    mpg.setDataSource(dsc);
      
    // 4、包配置
    PackageConfig pc = new PackageConfig();
    pc.setModuleName("edu"); //模块名
    pc.setParent("cn.zf.service");
    pc.setController("controller");
    pc.setEntity("entity");
    pc.setService("service");
    pc.setMapper("mapper");
    mpg.setPackageInfo(pc);
      
    // 5、策略配置
    StrategyConfig strategy = new StrategyConfig();
    //strategy.setInclude("edu_teacher");
    strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
    strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
    // 数据库表字段映射到实体的命名策略
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    // lombok 模型 @Accessors(chain = true) setter链式操作
    strategy.setEntityLombokModel(true); 
    strategy.setLogicDeleteFieldName("is_deleted"); // 3.修改逻辑删除字段名
    strategy.setEntityBooleanColumnRemoveIsPrefix(true); //去掉布尔值is_前缀
    strategy.setRestControllerStyle(true); //restful api风格控制器
    strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
      
    // 4.修改自动填充字段名
    TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);
    TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);
    ArrayList<TableFill> tableFills = new ArrayList<>();
    tableFills.add(gmtCreate);
    tableFills.add(gmtModified);
    strategy.setTableFillList(tableFills);

    mpg.setStrategy(strategy);
    // 6、执行
    mpg.execute();
  }
}
复制代码

通常的使用,修改以上地方就行了

成果图:

 

posted @   时光里的少年  阅读(1028)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示