MyBatisPlus的自动生成代码的策略详解

MyBatisPlus之代码自动生成器

MyBatisPlus的自动生成代码的策略详解_第1张图片
代码自动一键生成,功能强大,大大节省了开发时间
主要介绍一下springboot玩家,先来看配置的依赖maven
注意不要用最新版的依赖,很多东西新版以及移除了


            com.baomidou
            mybatis-plus-boot-starter
            3.0.6
        

        
        
            org.apache.velocity
            velocity-engine-core
            2.0
        

        
            io.springfox
            springfox-swagger2
            2.6.1
        

在测试类中进行配置

 public static void main(String[] args) {
        //需要构建一个代码生成器对象
        AutoGenerator mpg = new AutoGenerator();
        //配置策略

        //1、全局配置
        GlobalConfig gc = new GlobalConfig();
        String prPath = System.getProperty("user.dir");//获取当前系统目录
        gc.setOutputDir(prPath+"/src/main/java");//指定输出的位置
        gc.setAuthor("wangjinb");//设置作者
        gc.setOpen(false);//是否打开资源管理器
        gc.setFileOverride(false);//是否覆盖原来的文件
        gc.setServiceName("%sService");//去掉service的i前缀
        gc.setIdType(IdType.ID_WORKER);//设置id的生成策略默认算法
        gc.setDateType(DateType.ONLY_DATE);//设置日期生成策略
        gc.setSwagger2(true);
        mpg.setGlobalConfig(gc);

        //2、设置数据源”
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/blog?serverTimezone=UTC");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123456");
        dsc.setDbType(DbType.MYSQL);//数据库类型
        mpg.setDataSource(dsc);

        //3、配置包
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("blog");//设置模块
        pc.setParent("com.wj.testdemo");
        pc.setEntity("entity");
        pc.setMapper("mapper");
        pc.setService("service");
        pc.setController("controller");
        mpg.setPackageInfo(pc);


//        4、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setInclude("t_blog");//指定要映射的数据库表,可以写多个
        strategy.setNaming(NamingStrategy.underline_to_camel);//设置命名规则下划线转驼峰
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//列名规则
        strategy.setEntityLombokModel(true);//是否生成lombok注解

//        strategy.setLogicDeleteFieldName("deleted");//逻辑删除字段配置
        //自动填充的配置
        TableFill create_time = new TableFill("create_time", FieldFill.INSERT);//设置时的生成策略
        TableFill update_time = new TableFill("update_time", FieldFill.INSERT_UPDATE);//设置更新时间的生成策略
        ArrayList<TableFill> list = new ArrayList<>();
        list.add(create_time);
        list.add(update_time);
        strategy.setTableFillList(list);

        //乐观锁
//        strategy.setVersionFieldName("version");
        strategy.setRestControllerStyle(true);//开启驼峰命名
//        strategy.setControllerMappingHyphenStyle(true);//开启链接地址的下划线命名 localhost:8080/hello_id_2
        mpg.setStrategy(strategy);

        mpg.execute();//执行
    }

如果是想一次性生成多个表
MyBatisPlus的自动生成代码的策略详解_第2张图片
MyBatisPlus的自动生成代码的策略详解_第3张图片
最后的工程文件
MyBatisPlus的自动生成代码的策略详解_第4张图片
自动生成策略大大减少了写配置的时间,这个也许就是你比别人加班少的原因。

转载需声明原作者!!!

你可能感兴趣的:(MyBatisPlus)