就让我当一条懒到家的咸鱼吧

但是就是这个生活态度,也让我深刻体会到一句话:未来,人工智能会将某些基础行业的劳动力所代替,这句话只是个人理解,有不同见解的可以留言也可以在下方评论区讨论

今天我们就来看一下,基础的模板开发,“一键生成”之Mybatis-Plus自动生成代码

通过Mybatis-Plus强大的自动代码生成功能我们可以让项目自动生成一些通用的类。如controller,service,dao,mapper等。

  进行代码自动生成之前,我们需要提前创建好一个表。自动代码生成会根据关联的这张表去生成代码。

  首先创建一个空的SpringBoot项目,在pom文件中加入依赖。

com.baomidoumybatisplus-spring-boot-starter1.0.5

com.baomidoumybatis-plus2.1.8
org.mybatis.spring.bootmybatis-spring-boot-starter1.3.2

org.apache.velocityvelocity1.7

  以上是网友添加的依赖,我运行时发现没有postgresql的驱动,手动添加了如下:

org.postgresqlpostgresql42.2.5

  若还有其他包缺失,请在此网站查询添加。


  至此,添加完项目依赖。进行配置文件管理。在application.yml中进行如下配置。

#配置Mybatis-Plus
mybatis-plus:
    #配置扫描xml
    mapper-locations: classpath*:mapper/*/*Mapper.xml
    #配置实体扫描类
    type-aliases-package: 自己的包路径.*.mapper
    #逻辑删除配置
    global-config:
        sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
        logic-delete-value: 1
        logic-not-delete-value: 0

  最后,在test包下新建文件CodeGeneration.java

package com.xxx.xxx.goods;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
 * 自动生成类
 *
 * @author zhaohualuo
 * @date 2019/8/16
 **/
public class CodeGeneration {

    //main函数
    public static void main(String[] args) {

        AutoGenerator autoGenerator = new AutoGenerator();

        //全局配置
        GlobalConfig gc = new GlobalConfig();
        String oPath = System.getProperty("user.dir");//得到当前项目的路径
        gc.setOutputDir(oPath + "/src/main/java");   //生成文件输出根目录
        gc.setOpen(false);//生成完成后不弹出文件框
        gc.setFileOverride(true);  //文件覆盖
        gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
        gc.setEnableCache(false);// XML 二级缓存
        gc.setBaseResultMap(true);// XML ResultMap
        gc.setBaseColumnList(false);// XML columList
        gc.setAuthor("zhaohualuo");// 作者

        // 自定义文件命名,注意 %s 会自动填充表实体属性!
        gc.setControllerName("%sController");
        gc.setServiceName("%sService");
        gc.setServiceImplName("%sServiceImpl");
        gc.setMapperName("%sMapper");
        gc.setXmlName("%sMapper");
        autoGenerator.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.POSTGRE_SQL);   //设置数据库类型,我是postgresql
        dsc.setDriverName("org.postgresql.Driver");
        dsc.setUsername("postgres");
        dsc.setPassword("admin");
        dsc.setUrl("jdbc:postgresql://localhost:5432/book");  //指定数据库
        autoGenerator.setDataSource(dsc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);      // 表名生成策略
        strategy.setInclude(new String[] { "platform_goods" });     // 需要生成的表
        strategy.setSuperServiceClass(null);
        strategy.setSuperServiceImplClass(null);
        strategy.setSuperMapperClass(null);
        autoGenerator.setStrategy(strategy);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.xxxx.xx.goods");
        pc.setController("controller");
        pc.setService("service");
        pc.setServiceImpl("service.impl");
        pc.setMapper("mapper");
        pc.setEntity("entity");
        pc.setXml("xml");
        autoGenerator.setPackageInfo(pc);

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

  在该文件右击,run该项目即可自动生成文件。


  文件已生成成功,想要使用mapper包内的文件还需要在GoodsApplication文件中添加:

@MapperScan(basePackages = {"com.xxxx.xx.**.*mapper"})
  •   完整的GoodsApplication文件如下:
package com.xxxx.xx.goods;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
@MapperScan(basePackages = {"com.xxxx.xx.**.*mapper"})
public class GoodsApplication {

    public static void main(String[] args) {
        SpringApplication.run(GoodsApplication.class, args);
    }

    /**
     * mybatis-plus 分页插件  根据需要添加
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

  最后,将xml文件移动到resources目录下,如图:

jeecgboot 引入element jeecgboot怎么生成代码_spring