首页 > 其他分享 >mybatis-plus-generator代码生成器(新)

mybatis-plus-generator代码生成器(新)

时间:2022-09-06 23:22:59浏览次数:84  
标签:代码生成 entityBuilder Builder packageConfigBuilder globalConfigBuilder plus mybatis

代码生成器所需要的依赖

<!-- 代码生成器 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.0</version>
        </dependency>
<!-- 模板引擎 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>

新建代码生成器

public class CodeGenerator {
    public static void main(String[] args) {
        // 数据源配置
        DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig
                .Builder(
                "jdbc:mysql://localhost:3306/text",
                "root",
                "123456");//内部会自行判断数据库类型
        // 全局配置
        GlobalConfig.Builder globalConfigBuilder = new GlobalConfig.Builder();
        // 代码生成目录
        String projectPath = System.getProperty("user.dir");
        globalConfigBuilder.outputDir(projectPath + "/src/main/java");

        // 作者
        globalConfigBuilder.author("xiaocheng");
        // 结束时是否打开文件夹
        globalConfigBuilder.openDir(false);
        // 是否覆盖旧的文件
        globalConfigBuilder.fileOverride();
        // 实体属性Swagger2注解
        //globalConfigBuilder.enableSwagger();
        // 包配置,如模块名、实体、mapper、service、controller等
        PackageConfig.Builder packageConfigBuilder = new PackageConfig.Builder();
        //packageConfigBuilder.moduleName("xiaocheng");
        packageConfigBuilder.parent("com.xiaocheng");
        packageConfigBuilder.entity("entity");
        packageConfigBuilder.mapper("mapper");
        packageConfigBuilder.service("service");
        //packageConfigBuilder.serviceImpl("serviceImpl");
        packageConfigBuilder.controller("controller");

        // 策略配置
        StrategyConfig.Builder strategyConfigBuilder = new StrategyConfig.Builder();
        // 设置需要映射的表名
        strategyConfigBuilder.addInclude("text","text1");//字符串数组,可以生成多个表

        // 下划线转驼峰
        strategyConfigBuilder.entityBuilder().naming(NamingStrategy.underline_to_camel);
        strategyConfigBuilder.entityBuilder().columnNaming(NamingStrategy.underline_to_camel);
        // 去除前缀"t_"
        //strategyConfigBuilder.addTablePrefix("t_");

        // entity的Lombok
        strategyConfigBuilder.entityBuilder().enableLombok();

        // 逻辑删除
        strategyConfigBuilder.entityBuilder().logicDeleteColumnName("deleted");
        strategyConfigBuilder.entityBuilder().logicDeletePropertyName("deleted");

        // 创建时间
        IFill gmtCreate = new Column("create_time", FieldFill.INSERT);
        // 更新时间
        IFill gmtModified = new Column("update_time", FieldFill.INSERT_UPDATE);
        strategyConfigBuilder.entityBuilder().addTableFills(gmtCreate, gmtModified);
        // 乐观锁
        //strategyConfigBuilder.entityBuilder().enableSerialVersionUID();
        //strategyConfigBuilder.entityBuilder().versionColumnName("version");
        //strategyConfigBuilder.entityBuilder().versionPropertyName("version");

        // 使用Restful风格的Controller
        strategyConfigBuilder.controllerBuilder().enableRestStyle();

        // 将请求地址转换为驼峰命名,如 http://localhost:8080/hello_id_2
        strategyConfigBuilder.controllerBuilder().enableHyphenStyle();

        // 创建代码生成器对象,加载配置
        AutoGenerator autoGenerator = new AutoGenerator(dataSourceConfigBuilder.build());
        autoGenerator.global(globalConfigBuilder.build());
        autoGenerator.packageInfo(packageConfigBuilder.build());
        autoGenerator.strategy(strategyConfigBuilder.build());

        // 执行
        autoGenerator.execute();
    }
}

 

 

原文链接:https://www.cnblogs.com/xiaocheng12138/articles/15912505.html

标签:代码生成,entityBuilder,Builder,packageConfigBuilder,globalConfigBuilder,plus,mybatis
From: https://www.cnblogs.com/stepforeward/p/16663704.html

相关文章

  • MyBatis的一级缓存
    在MyBatis中,一级缓存是默认开启的。1、在一个SqlSession中,对User表进行两次根据ID的查询,查看发出sql语句的情况。/***根据ID查询用户**@paramid*@return*/......
  • Spring_Boot + Mybatis_Plus初始化
    创建SpringBoot项目基础创建及基本配置:https://www.cnblogs.com/Stars0121/p/16601285.html安装依赖项目所需依赖<dependencies><dependency>......
  • mybatis注入的快捷方法忍者鸟(mybatisx)和小辣椒(lombok)
    忍者鸟(mybatisx)和小辣椒(lombok)1.忍者鸟(mybatisx)作用:在mybatis注入时可以快速找到对应的方法图解:点击mapper接口中的方法左侧小红鸟后,即可跳转到对应的xml注解文件中的......
  • Mybatis学习笔记(七)——Mybatis关联查询
    级联关系是一个数据库实体的概念,有3种级联关系,分别是一对一级联、一对多级联以及多对多级联。例如,一个角色可以分配给多个用户,也可以只分配给一个用户。大部分场景下,我们......
  • Mybatis学习笔记(六)——Mybatis注解
    注解主要分为三大类,即SQL语句映射、结果集映射和关系映射。下面分别进行讲解。不过一般注解用的比较少。1.SQL语句映射1)@Insert:实现新增功能 这个方法是在mapper接口......
  • mybatis 动态排序
    publicclassPagination{//当前页privateIntegerpage=1;//一页显示条数privateIntegerlimit=10;//排序字段privat......
  • mybatis资源扫描 插件
    <!--在build中配置resources,来防止我们资源导出失败的问题--><build><resources><resource><directory>src/main/resources</directory>......
  • MyBatis 八——修改全部字段/修改动态字段
    配置文件完成修改全部字段1、编写接口方法:Mapper接口观察参数返回结果   2、编写SQL语句:SQL映射文件;  ......
  • editplus + notepad++ 列编辑操作
    列编辑//编辑器列选择EditPlus1)菜单:编辑->选择->列选择(Edit->Select->ColumnSelect)2)先按下Alt+C,释放,然后移动鼠标或键盘上下左右键进行列模块的移动注意:......
  • MyBatis 六--动态条件查询
    查询多条件——动态查询SQL语句随着用户输入或者外部条件的变化而变化,我们成为动态SQL修改SQL语句即可,有两种方法:首先利用if标签来进行判断,wh......