栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

代码生成器 generator

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

代码生成器 generator

代码生成器 generator的使用

适用版本:mybatis-plus-generator 3.5.1 及其以上版本,由于生成器代码不需要提交维护,代码放在test包下面即可

1、引入依赖


    com.baomidou
    mybatis-plus-generator
    3.5.1

方式一
2、在test类中执行以下代码快速生成

FastAutoGenerator.create("url", "username", "password") //写需要生成的数据库的信息
    .globalConfig(builder -> {
        builder.author("baomidou") // 设置作者
            .enableSwagger() // 开启 swagger 模式
            .fileOverride() // 覆盖已生成文件
            .outputDir("D://"); // 指定输出目录
    })
    .packageConfig(builder -> {
        builder.parent("com.baomidou.mybatisplus") // 设置父包名,就是生成后的类的包名字
            .moduleName("system") // 设置父包模块名
            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")); // 设置mapperXml生成路径
    })
    .strategyConfig(builder -> {
        builder.addInclude("t_simple") // 设置需要生成的表名
            .addTablePrefix("t_", "c_"); // 设置过滤表前缀 ,这些不需要这是注掉
    })
    .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
    .execute();


方式二、设置好对应信息在生成

public class CodeGenerator {

    @Test
    public void genCode() {

        // 1、创建代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 2、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir"); //获取该项目的全路径
        gc.setOutputDir(projectPath + "/src/main/java");//设置生成后存放的路径
        gc.setAuthor("Helen");//设置作者
        gc.setOpen(false); //生成后是否打开资源管理器
        gc.setServiceName("%sService");	//去掉Service接口的首字母I
        gc.setIdType(IdType.AUTO); //主键策略 ,在生成的对象所有的id属性都会加上      @TableId(value = "id", type = IdType.AUTO)注解,主键自增
        gc.setSwagger2(true);//开启Swagger2模式,自动生成接口文档,使用必须引入依赖下面的依赖,生成时每个属性都会有    @ApiModelProperty(value = "编号")这样的注解 会把创建表时的字段注释拿过来,这样可以清楚知道每个字段对应的意思
        mpg.setGlobalConfig(gc);

        // 3、数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/数据库库名?serverTimezone=GMT%2B8&characterEncoding=utf-8");//后面两个参数分别是设置时区和字符集
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");//设置jdbc驱动,mysql8以下是com.mysql.jdbc.Drive,mysql8以上是com.mysql.cj.jdbc.Driver
        dsc.setUsername("root");//数据库username
        dsc.setPassword("123456");//数据库password
        dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 4、包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.srb.core");
        pc.setEntity("pojo.entity"); //此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
        mpg.setPackageInfo(pc);

        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略,由下划线命名改为驼峰命名
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);  //列名下划线转驼峰命名
        strategy.setEntityLombokModel(true);    //给所有的实体类加lombok注解,不自动生成get和set,但加上了@Data注解,会在编译的时候自动生成get和set
        strategy.setLogicDeleteFieldName("is_deleted");   //逻辑删除字段名,给逻辑删除字段加逻辑注解 @logicDelete
        strategy.setEntityBooleanColumnRemoveIsPrefix(true); //去掉is_前缀,阿里的开发文档规定属性名不要以is开头
        strategy.setRestControllerStyle(true);  //restful api风格,返回json的
        mpg.setStrategy(strategy);

        //6执行
        mpg.execute();}
         
}

使用swagger需要引入的依赖

  
    
        io.springfox
        springfox-swagger2
    
    
    
        io.springfox
        springfox-swagger-ui
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号