逆向工程

引入依赖

   <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.5.3</version>
    </dependency>

创建测试类

@Test
void genCode(){
    //FastAutoGenerator文档:https://baomidou.com/pages/981406/
    String projectPath = System.getProperty("user.dir")+"/src/main/java";
    String mapperPath = System.getProperty("user.dir")+"/src/main/resources/mapper";
    String moduleName = "mybatisplus";
    //数据库的url  账户 密码
    FastAutoGenerator.create("jdbc:mysql://192.168.1.171:3396/mybatisplus?serverTimezone=UTC&tinyInt1isBit=false",
                             "root", "123456")
        .globalConfig(builder -> {
            builder.author("atguigu") // 设置作者
                //.enableSwagger() // 开启 swagger 模式
                .fileOverride() // 覆盖已生成文件
                .disableOpenDir()//生成后是否打开资源管理器
                .dateType(DateType.ONLY_DATE)//时间日期类型
                .enableSpringdoc() //开启使用springdoc注解
                .outputDir(projectPath); // 生成文件指定输出目录
        })
        .packageConfig(builder -> {
            builder.parent("com.atguigu.guigu") // 设置父包名
                .moduleName(moduleName) // 设置模块名
                .xml("mapper.xml") //xml目录
                .pathInfo(Collections.singletonMap(OutputFile.xml,
                                                   mapperPath)); // 设置mapperXml生成路径
        })
        .strategyConfig(builder -> {
            builder.likeTable(new LikeTable("%"))
                .addTablePrefix("t_", "c_"); // 设置过滤表前缀
            builder.controllerBuilder()
                .enableRestStyle();
            builder.serviceBuilder()
                .formatServiceFileName("%sService")
                .formatServiceImplFileName("%sServiceImpl");
            builder.entityBuilder()
                .enableTableFieldAnnotation() //开启生成实体时生成的字段注解
               // .versionColumnName("version")//乐观锁字段名(数据库)
                //.versionPropertyName("version")//乐观锁属性名(实体)
                //.logicDeleteColumnName("is_deleted")//逻辑删除字段名(数据库)
                //.logicDeletePropertyName("deleted")//逻辑删除属性名(实体)
                .naming(NamingStrategy.underline_to_camel) //表名下划线->驼峰命名
                .columnNaming(NamingStrategy.underline_to_camel)//字段名下划线->驼峰命名
                //.idType(IdType.ASSIGN_ID)//全局主键类型
                //添加表字段填充以及填充策略
               // .addTableFills(new Column("create_time", FieldFill.INSERT)
               //                ,new Column("update_time" ,FieldFill.INSERT_UPDATE))
                .enableRemoveIsPrefix()//开启 Boolean 类型字段移除 is 前缀
                .enableLombok();//使用lombok
        })
        //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
        .execute();
}

利用逆向工程生成pojo以及service以及对应的实现类

利用数据库的逆向工程生成pojo以及service以及对应的实现类

连接数据库

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐