superzoeyian / mybatis-plus-code-generator

MyBatis-Plus代码生成器

Home Page:https://mp.baomidou.com/guide/generator.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MyBatis-Plus 代码生成器

Current Version

3.4.1

概述

代码生成器,又被叫做逆向工程,MyBatis官方为了推广,自己也写了一个,我之前也使用这个,功能也是非常强大,强大以为支持自定义配置,那么问题来了,我该怎么配置才合理呢,所以,有人把所有的配置项都弄成中文的,还有人开发了生成插件,这些在我以往的博文中都看看到。MyBatis-Plus的代码生成器到底怎么样,这我就不评判了,我就这样说,用用看吧。

功能列表:

  • 自动生成model类

  • 自动生成dao接口

  • 自动生成xml文件

  • 自动生成service接口

  • 自动生成service实现类

  • model支持Builder模式

  • 支持swagger2

  • 支持生成数据库字段常量

  • 支持生成Kotlin代码

  • ……more……

目录结构

.
├── README.md
├── pom.xml
└── src
    ├── main
    │   └── java
    │       └── com
    │           └── fengwenyi
    │               └── code_generator
    │                   ├── Config.java                      // 自定义配置
    │                   ├── MySQL8CodeGenerator.java         // MySQL代码生成器
    │                   ├── OracleCodeGenerator.java         // Oracle代码生成器
    │                   └── util
    │                       └── CommonUtils.java
    └── test
        └── java
            └── com
                └── fengwenyi
                    └── code_generator
                        └── CodeGeneratorTests                // 代码生成器测试

支持的数据库

  • MySQL

  • Oracle

  • SQL Server

快速开始

你只需要三步,就能生成代码

第一步:Git克隆

git clone git@github.com:fengwenyi/mybatis-plus-code-generator.git

第二步:IDE导入

第三步:简单且必应的配置即可运行

MySQL:MySQL8CodeGenerator

Oracle:OracleCodeGenerator

简单且必要的配置

参数名 说明 示例值
dbUrl 数据库连接URL jdbc:mysql://localhost:3306/dbName
username 数据库用户名 dbUsername
password 数据库密码 dbPassword
driver 数据库连接驱动 com.mysql.cj.jdbc.Driver
tablePrefixes 表前缀,生成的实体类,不含前缀 t
tableNames 表名,为空,生成所有的表 t_user, t_goods, t_order
fieldPrefixes 字段前缀 -
packageName 基础包名 com.example.module.db

更多配置项

com.fengwenyi.code_generator.Config

参数名 说明 默认值
PACKAGE_NAME_CONTROLLER 数据库控制层包名 controller
PACKAGE_NAME_SERVICE 数据库服务接口包名 repository
PACKAGE_NAME_SERVICE_IMPL 数据库服务接口实现类包名 repository.impl
PACKAGE_NAME_MODEL 数据库实体类包名 entity
PACKAGE_NAME_DAO 数据库操作接口包名 dao
DIR_NAME_XML MyBatis XML文件夹名称 mapper
FILE_NAME_MODEL 数据库实体类文件名后缀 %sEntity
FILE_NAME_DAO 数据库操作接口文件名后缀 I%sDao
FILE_NAME_XML MyBatis XML文件名后缀 %sMapper
FILE_NAME_SERVICE 数据库服务接口文件名后缀 MP%sRepository
FILE_NAME_SERVICE_IMPL 数据库服务接口实现类文件名后缀 %sRepositoryImpl
FILE_NAME_CONTROLLER 数据库控制层文件名后缀 %sController
FIELD_LOGIC_DELETE_NAME 逻辑删除字段名称 delete_status
FIELD_VERSION_NAME 乐观锁字段名称 version
AUTHOR 类注释作者 Erwin Feng
PROJECT_PATH 工程路径 System.getProperty("user.dir")
OUTPUT_DIR 生成的文件路径 PROJECT_PATH + "/temp/code-generator"
TEMPLATE_ENGINE 模板引擎。velocity / freemarker / beetl velocity
SWAGGER_SUPPORT 生成的实体类是否支持Swagger false

注意事项

1、关于指定生成的表名

// 表名,为空,生成所有的表
String [] tableNames = {};

// 表名,具体表名
String [] tableNames = {"table"};

// 表名,多张表
String [] tableNames = {"table1", "table1"};

// 注意:生成多张表时,不能写成
String [] tableNames = {""};

2、包名

// 基础包名
// 这是基础包名,会在后面加dao/model/service等包名
String packageName = "com.example.module.db";

3、数据库操作服务接口默认以 MP 为前缀,如:MPUserService

4、报错 Error java: 错误;不支持发行版5

解决办法:

Java Compilermodule 对应的 java 版本改成 8+

About

MyBatis-Plus代码生成器

https://mp.baomidou.com/guide/generator.html

License:MIT License


Languages

Language:Java 100.0%