MybatisPlus代码构建器

依赖

       <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>
        <!--mybatisPlus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3</version>
        </dependency>
        
       <!--swaggerUi-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

        <!--mybatisPlus代码生成器依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.1</version>
        </dependency>
        <!--模板引擎 mybatisPlus默认Veloctity-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

代码

          // 代码生成器
        AutoGenerator autoGenerator = new AutoGenerator();

        //全局配置
        GlobalConfig config = new GlobalConfig();

        //获取项目绝对路径
        String projectPath = System.getProperty("user.dir");
        // 代码输出的目录
        config.setOutputDir(projectPath + "/src/main/java");
        // 是否覆盖已有文件,默认为false
        config.setFileOverride(false);
        // 是否打开输出目录,默认为true
        config.setOpen(false);
        // 开发人员
        config.setAuthor("gao");
        //开启swagger,默认值为false
        config.setSwagger2(true);
        // 全局主键类型
        config.setIdType(IdType.ASSIGN_ID);
        // service的命名格式
        config.setServiceName("%sService");
        // service实现类的命名格式
        config.setServiceImplName("%sServiceImpl");
        // Controller的命名格式
        config.setControllerName("%sController");
        // Mapper的命名格式
        config.setMapperName("%sDao");
        // entity的命名格式
        config.setEntityName("%sEntity");

        autoGenerator.setGlobalConfig(config);
        // 包名配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.gao");
        autoGenerator.setPackageInfo(packageConfig);
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("root");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUrl("jdbc:mysql://127.0.0.1:3306/hana?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai");

        autoGenerator.setDataSource(dataSourceConfig);
        // 数据库表配置
        StrategyConfig strategyConfig = new StrategyConfig();
        // 表名
        strategyConfig.setInclude("blog_content", "blog_user");
        // 乐观锁属性名称
        strategyConfig.setVersionFieldName("version");
        // 生成实体,生成字段注释
        strategyConfig.setEntityTableFieldAnnotationEnable(true);
        // 逻辑删除属性名称
        strategyConfig.setLogicDeleteFieldName("deleted");
        // 自动填充字段
        TableFill createTime = new TableFill("create_time", FieldFill.INSERT);  // 插入时填充
        TableFill updateTime = new TableFill("update_time", FieldFill.INSERT_UPDATE);  // 插入、更新时都填充
        List<TableFill> list = new ArrayList<>();
        list.add(createTime);
        list.add(updateTime);
        strategyConfig.setTableFillList(list);
        // 开启驼峰连接字符
        strategyConfig.setControllerMappingHyphenStyle(true);

        // 数据库表映射到实体的命名策略   underline_to_camel  下划线切换成驼峰  no_change 不切换(默认)
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        // 数据库表字段映射到实体的命名策略, 未指定按照 naming 执行  underline_to_camel
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        autoGenerator.setStrategy(strategyConfig);
        // 开始创建
        autoGenerator.execute();

版权声明:本文为NotfoundExcption原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。