mybatis-plus自动生成代码的示例代码

一、介绍

本教程将介绍如何使用 mybatis-plus 工具自动给我们生成 Controller、Service、Entity、Mapper、Mapper.xml 层代码

要求:

① 生成的Controller类,需要继承 BaseController

② 生成的Entity 类,需要继承 BaseEntity

③ 生成的 Service,默认名称下是以 I 开头的接口, 在生成Service层代码中需要把这个 I 去掉

二、实现步骤

① 在数据库中创建好 数据库 与 要生成代码对应的表

这里拿 user 表举例

DROP TABLE IF EXISTS user;
 
CREATE TABLE user
(
 id BIGINT(20) NOT NULL COMMENT '主键ID',
 name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
 age INT(11) NULL DEFAULT NULL COMMENT '年龄',
 email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
 PRIMARY KEY (id)
);
 
DELETE FROM user;
 
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');

② 创建 一个SpringBoot 项目,其中 pom.xml 内容如下:



  4.0.0
  
    org.springframework.boot
    spring-boot-starter-parent
    2.1.11.RELEASE
     
  
  com.lcy
  mybatis-plus-demo
  0.0.1-SNAPSHOT
  mybatis-plus-demo
  Demo project for Spring Boot
 
  
    1.8
  
 
  
    
      org.springframework.boot
      spring-boot-starter-web
    
 
    
      org.projectlombok
      lombok
      true
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
    
 
    
      com.baomidou
      mybatis-plus-boot-starter
      3.3.0
    
 
    
      mysql
      mysql-connector-java
      5.1.35
    
 
    
      com.baomidou
      mybatis-plus-generator
      3.3.0
    
    
      org.apache.velocity
      velocity-engine-core
      2.1
    
  
 
  
    
      
        org.springframework.boot
        spring-boot-maven-plugin
      
    
  
 

③ 创建代码生成类

package com.lcy.demo.generator;
 
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.NamingStrategy;
 
public class MysqlGenerator {
  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("liangcy");  // 作者
    gc.setOpen(false);   //生成代码后是否打开文件夹
    gc.setServiceName("%sService"); // 设置Service接口生成名称,这样生成接口前面就不会有 I
    mpg.setGlobalConfig(gc);
 
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/mybatis-plus-demo?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");
    dsc.setDriverName("com.mysql.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("123456");
    mpg.setDataSource(dsc);
 
    // 包配置
    PackageConfig pc = new PackageConfig();
    pc.setModuleName("sys"); // 模块名称, 这里可以根据不同模块来写
    pc.setParent("com.lcy.demo"); // 父包名
    mpg.setPackageInfo(pc);
 
    // 策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setNaming(NamingStrategy.underline_to_camel);
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    strategy.setSuperControllerClass("com.lcy.demo.sys.controller.BaseController");
    strategy.setSuperEntityClass("com.lcy.demo.sys.entity.BaseEntity");
    strategy.setEntityLombokModel(true);
    strategy.setInclude("user"); // 如果要生成多个,这里可以传入String[]
    mpg.setStrategy(strategy);
    mpg.execute();
  }
 
}

补充说明:

  • 代码生成过程中用到了 Lombok 插件, 因此需要在IDEA 中安装好 Lombok插件
  • 如果我们删除了生成的代码, 包名可能会飘红, 这时我们需要 更新一下maven工程,飘红就会消失
  • 代码将生成在我们设置的 父包名 + 模块名中

到此这篇关于mybatis-plus自动生成代码的示例代码的文章就介绍到这了,更多相关mybatis-plus 自动生成代码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(mybatis-plus自动生成代码的示例代码)