我是靠谱客的博主 醉熏蛋挞,最近开发中收集的这篇文章主要介绍MyBatis-plus代码生成器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

简介

MyBatis-Plus在MyBatis的基础上进行了进一步的封装,提供了常用的crud方法,舍弃了Mapper.xml文件的配置的环节,开箱即用,大大提高了开发效率。而MyBatis-Plus代码生成器在此基础上,直接生成常用的代码文件,使开发者只专注于业务层。

示例

  1. 依赖

    因为MyBatis-Plus代码生成器默认使用Velocity模板引擎(可选模板引擎 Beetl 或 Freemarker),需要引入相关依赖。

    <dependency>
         <groupId>org.apache.velocity</groupId>
         <artifactId>velocity-engine-core</artifactId>
         <version>2.3</version>
    </dependency>
    
  2. 配置

    public class CodeGenerator {
        public static void main(String[] args) {
            DataSourceConfig dataSourceConfig= new DataSourceConfig
                    .Builder("jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8", "root", "123456")
                    .typeConvert(new MySqlTypeConvert()) // 数据库字段类型转换
                    .build();
    
            // 全局配置
            GlobalConfig globalConfig = new GlobalConfig.Builder()
    //                .fileOverride() // 覆盖已生成的文件
                    .outputDir(System.getProperty("user.dir") + "/src/main/java")  // 输出路径为当前项目的/src/main/java目录下
                    .author("your_name")
                    .enableSwagger() // 便于生成Api文档
                    .dateType(DateType.SQL_PACK) // 使用java.sql.Timestamp
                    .commentDate("yyyy-MM-dd")
                    .build();
    
            // 配置包名
            PackageConfig packageConfig = new PackageConfig.Builder()
                    .parent("com.hrm.staff")
                    .entity("entity")
                    .service("service")
                    .serviceImpl("service.impl")
                    .mapper("mapper")
                    .controller("controller")
                    .build();
    
            StrategyConfig strategyConfig = new StrategyConfig.Builder()
                    .addTablePrefix("com_", "per_") // 根据表名生成实体名,去除指定的表前缀
                    .entityBuilder() // 1. entity策略配置
                    .enableLombok()
                    .enableTableFieldAnnotation() // 生成字段注解
                    .logicDeleteColumnName("is_deleted") // 指明逻辑删除字段
                    .addTableFills(new Column("create_time", FieldFill.INSERT)) // 插入时自动填入时间
                    .addTableFills(new Property("updateTime", FieldFill.INSERT_UPDATE)) // 插入或更新时自动填入时间
                    .idType(IdType.AUTO) // 主键自增
                    .mapperBuilder() // 2. mapper策略配置
                    .superClass(BaseMapper.class) // 设置父类
                    .serviceBuilder() // 3. service策略配置
                    .formatServiceFileName("%sService") // 如果不设置,则默认为I%sService
                    .controllerBuilder() // 4. controller策略配置
                    .enableRestStyle() //  开启@RestController
                    .build();
    
            new AutoGenerator(dataSourceConfig)
                    .global(globalConfig)
                    .packageInfo(packageConfig)
                    .strategy(strategyConfig)
                    .execute(); // 执行
        }
    }
    

最后

以上就是醉熏蛋挞为你收集整理的MyBatis-plus代码生成器的全部内容,希望文章能够帮你解决MyBatis-plus代码生成器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部