SpringCloudAlibaba云商场-基础数据处理(五)

96 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

1. MyBatis Plus代码生成

我们可以发现个问题,上几篇写的很多增删改查代码都比较简单,比较枯燥,重复写一些类的创建、单表增删改查非常类,而创建对象和单标操作的代码,在开发中几乎占用了开发时间的80%,如果能够用工具生成就可以大大节省我们开发成本了。

1.1MyBatis Plus代码生成器介绍

AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。

1.2代码生成器(旧版)适用版本:mybatis-plus-generator 3.5.1 以下版本

1)随便找个项目,引入依赖

<!--代码生成器包-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.0</version>
</dependency>

<!--模板工具包-->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.2</version>
</dependency>

2)代码生成,代码如下:

public class MyBatisPlusCode {

    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        gc.setAuthor("xz");
        gc.setOpen(false);  //是否打开
        gc.setServiceName("%sService");    //Service接口名字
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://xxx.xx.xx.xx:3306/shop_goods?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("root");
        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("mall-goods");
        pc.setParent("com.xz.code");
        mpg.setPackageInfo(pc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        strategy.setEntityLombokModel(true);
        strategy.setRestControllerStyle(true);
        // 写于父类中的公共字段
        strategy.setSuperEntityColumns("id");
        strategy.setControllerMappingHyphenStyle(true);
        strategy.setTablePrefix(pc.getModuleName() + "_");
        mpg.setStrategy(strategy);
        mpg.execute();
    }

}

大致分为几个步骤:

1.创建一个代码生成器对象

2.开始全局配置,文件输出位置、作者、service名称之类的

3.数据源配置

4.生成包名的配置

5.策略配置,主要是针对生成的类的配置

6.mpg.execute();这个是去触发执行的入口

3)点击执行,最终生成的代码如下图所示

代码自动生成旧版.jpg

1.3代码生成器(新版)适用版本:mybatis-plus-generator 3.5.1 及其以上版本,对历史版本不兼容!

1)随便找个项目,依赖如下:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>最新版本</version>
</dependency>

2)大家可以具体看一下官方的演示文档,请见baomidou.com/pages/779a6…

总结:本篇主要讲述了一下MyBatis Plus代码生成器的具体用法,大家可以自己去实践操作一下,个人觉得还是挺方便的。