使用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();
  }
}

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

成果图:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM