zoukankan      html  css  js  c++  java
  • mybatis-plus 逆向工程模板

    mybatis-plus 代码生成器

        @Test
        public void getGenerator() {
            //项目路径
            System.out.println(System.getProperty("user.dir"));
    
            //代码生成器
            AutoGenerator autoGenerator = new AutoGenerator();
    
            //1.全局配置 调用generator.config下的
            GlobalConfig gc = new GlobalConfig();
            //获取当前项目的路径
            String path = System.getProperty("user.dir");
            //设置是否开启AR
            gc.setAuthor("chz")
                    //文件输出路径
                    .setOutputDir(path + "/src/main/java")
                    //生成时是否打开文件
                    .setOpen(false)
                    //是否覆盖文件
                    .setFileOverride(true)
                    //设置主键自增策略
                    .setIdType(IdType.ASSIGN_UUID)
                    //DO中日期类的类型, 缺省值为TIME_PACK
                    .setDateType(DateType.TIME_PACK)
                    //是否开启resultMap,默认false
                    .setBaseResultMap(true)
                    //是否开启sql片段,默认false
                    .setBaseColumnList(true)
                    //去掉service接口首字母的I, 如DO为User则叫UserService
                    .setServiceName("%sService")
                    //开启Swagger2
                    .setSwagger2(true);
    
    
            //2.数据源配置
            DataSourceConfig dataSourceConfig = new DataSourceConfig();
            //设置数据源类型
            dataSourceConfig.setDbType(DbType.MYSQL)
                    .setDriverName("com.mysql.cj.jdbc.Driver")
                    .setUrl("jdbc:mysql://localhost:3306/gedu?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")
                    .setUsername("root")
                    .setPassword("12345");
    
            //3.策略配置
            StrategyConfig strategyConfig = new StrategyConfig();
            //是否开启大写命名,默认不开启
            strategyConfig.setCapitalMode(false)
                    //生成的DO自动实现Serializable接口, 默认true
                    .setEntitySerialVersionUID(true)
                    //数据库 表 映射到实体类命名策略
                    .setNaming(NamingStrategy.underline_to_camel)
                    //数据库表 字段 映射到实体类的命名策略
                    .setColumnNaming(NamingStrategy.underline_to_camel)
                    //设置想要生成的表
                    .setInclude("edu_teacher")
                    //生成的dao,service,entity不再带tbl_前缀
                    .setTablePrefix("edu_")
                    //设置lombok, @Accessor(chain = true),@Data等
                    .setEntityLombokModel(true)
                    //controller使用@RestController
                    .setRestControllerStyle(true)
                    //Mapping驼峰转连字
                    .setControllerMappingHyphenStyle(true)
                    //自动填充字段
                    .setTableFillList(Arrays
                            .asList(new TableFill("gmt_create", FieldFill.INSERT),
                                    new TableFill("gmt_modified",FieldFill.INSERT_UPDATE)))
    //                .setVersionFieldName("")//乐观锁属性名
                    //表中字段为is_deleted,生成的DO中去掉is前缀
                    .setEntityBooleanColumnRemoveIsPrefix(true)
                  .setLogicDeleteFieldName("deleted");//逻辑删除属性名
    
    
            //4.包配置
            PackageConfig packageConfig = new PackageConfig();
            //setParent设置统一的包路径
            //设置模块名,对应controller中使用servicedu作为url, 如@RequestMapping("/servicedu/teacher"), 所有生成的都会在以该模块名为的包下
            packageConfig.setModuleName("servicedu")
                    .setParent("com.chz")
                    .setMapper("mapper")
                    .setService("service")
                    .setController("controller")
                    .setEntity("entity")
                    .setXml("mapper");
    
            //整合配置
            autoGenerator.setPackageInfo(packageConfig)
                    .setDataSource(dataSourceConfig)
                    .setGlobalConfig(gc)
                    .setStrategy(strategyConfig);
            //执行
            autoGenerator.execute();
        }
    

    生成的项目结构如下

    controller

    @Controller
    @RequestMapping("/servicedu/teacher")
    public class TeacherController {
    
    }
    
  • 相关阅读:
    super.getClass().getName()方法调用的返回
    外观模式(Façade Pattern)
    Framework 4.0 将何去何从
    SQL Server 2005 第一篇 引言
    抽象工厂模式(Abstract Factory)
    浅谈分页技术
    垃圾邮件
    读书时的软件开发梦
    写技术博客的一个原因应该是寂寞吧
    当下10大最热门的网站开发技术
  • 原文地址:https://www.cnblogs.com/kikochz/p/12912890.html
Copyright © 2011-2022 走看看