# mapper-plugin-plus
**Repository Path**: ccfish/mapper-plugin-plus
## Basic Information
- **Project Name**: mapper-plugin-plus
- **Description**: mapper-plugin-plus Mapper插件扩展
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2018-04-23
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# mapper-plugin-plus Mapper插件扩展
## 继承自MapperPlugin,主要扩展了以下功能:
#### 1.生成的模型是否实现序列化接口,默认为否
#### 2.模型中字段是否添加数据库字段和java字段枚举 默认为否
#### 3.模型是否增加swagger注解 默认为否
#### 4.模型中setter方法是否返回模型本身(链式调用) 默认为否
#### 5.模型中字段是否增加@ColumnType(jdbcType)注解 ,用于支持oracle版本 mapper insert方法(不带selective)插入数据库是由于字段为空而报错,默认为否
## 使用方法:
### 1.pom.xml增加mybatis generator生成插件
```
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.5
${basedir}/src/main/resources/generator/generatorConfig.xml
true
true
tk.mybatis
mapper
${tk-mybatis-version}
com.oracle
ojdbc6
11.2.0.3
com.lhy
mapper-plugin-plus
1.0.0
```
### generatorConfig.xml 节点配置插件
```
```
### 按照mybatis generator插件配置相关包路径,文件路径
具体参考官网:http://www.mybatis.org/generator/
mybatis通用mapper参考: https://mapperhelper.github.io/docs/
### 执行命令
> mvn mybatis-generator:generate
即可生成扩展的mybatis mapper model
### 生成的模型文件示例:
```
package com.wisedu.zzfw.template.dictionary.model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.persistence.*;
import org.apache.ibatis.type.JdbcType;
import tk.mybatis.mapper.annotation.ColumnType;
@Table(name = "T_DM_BJ")
@ApiModel("DmBj(班级)")
public class DmBj implements Serializable {
/**
* 主键id
*/
@Id
@Column(name = "WID")
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "select lower(sys_guid()) from dual")
@ApiModelProperty(value ="主键id",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String wid;
/**
* 班级代码
*/
@Column(name = "BJDM")
@ApiModelProperty(value ="班级代码",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String bjdm;
/**
* 班级简称
*/
@Column(name = "BJJC")
@ApiModelProperty(value ="班级简称",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String bjjc;
/**
* 班级名称
*/
@Column(name = "BJMC")
@ApiModelProperty(value ="班级名称",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String bjmc;
/**
* 班级英文名称
*/
@Column(name = "BJYWMC")
@ApiModelProperty(value ="班级英文名称",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String bjywmc;
/**
* 备注
*/
@Column(name = "BZ")
@ApiModelProperty(value ="备注",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String bz;
/**
* 年级
*/
@Column(name = "NJ")
@ApiModelProperty(value ="年级",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String nj;
/**
* 院系代码
*/
@Column(name = "YXDM")
@ApiModelProperty(value ="院系代码",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String yxdm;
/**
* 专业代码
*/
@Column(name = "ZYDM")
@ApiModelProperty(value ="专业代码",required = false)
@ColumnType(jdbcType=JdbcType.VARCHAR)
private String zydm;
private static final long serialVersionUID = 1L;
/**
* 获取主键id
*
* @return WID - 主键id
*/
public String getWid() {
return wid;
}
/**
* 设置主键id
*
* @param wid 主键id
*/
public DmBj setWid(String wid) {
this.wid = wid;
return this;
}
/**
* 获取班级代码
*
* @return BJDM - 班级代码
*/
public String getBjdm() {
return bjdm;
}
/**
* 设置班级代码
*
* @param bjdm 班级代码
*/
public DmBj setBjdm(String bjdm) {
this.bjdm = bjdm;
return this;
}
/**
* 获取班级简称
*
* @return BJJC - 班级简称
*/
public String getBjjc() {
return bjjc;
}
/**
* 设置班级简称
*
* @param bjjc 班级简称
*/
public DmBj setBjjc(String bjjc) {
this.bjjc = bjjc;
return this;
}
/**
* 获取班级名称
*
* @return BJMC - 班级名称
*/
public String getBjmc() {
return bjmc;
}
/**
* 设置班级名称
*
* @param bjmc 班级名称
*/
public DmBj setBjmc(String bjmc) {
this.bjmc = bjmc;
return this;
}
/**
* 获取班级英文名称
*
* @return BJYWMC - 班级英文名称
*/
public String getBjywmc() {
return bjywmc;
}
/**
* 设置班级英文名称
*
* @param bjywmc 班级英文名称
*/
public DmBj setBjywmc(String bjywmc) {
this.bjywmc = bjywmc;
return this;
}
/**
* 获取备注
*
* @return BZ - 备注
*/
public String getBz() {
return bz;
}
/**
* 设置备注
*
* @param bz 备注
*/
public DmBj setBz(String bz) {
this.bz = bz;
return this;
}
/**
* 获取年级
*
* @return NJ - 年级
*/
public String getNj() {
return nj;
}
/**
* 设置年级
*
* @param nj 年级
*/
public DmBj setNj(String nj) {
this.nj = nj;
return this;
}
/**
* 获取院系代码
*
* @return YXDM - 院系代码
*/
public String getYxdm() {
return yxdm;
}
/**
* 设置院系代码
*
* @param yxdm 院系代码
*/
public DmBj setYxdm(String yxdm) {
this.yxdm = yxdm;
return this;
}
/**
* 获取专业代码
*
* @return ZYDM - 专业代码
*/
public String getZydm() {
return zydm;
}
/**
* 设置专业代码
*
* @param zydm 专业代码
*/
public DmBj setZydm(String zydm) {
this.zydm = zydm;
return this;
}
public enum FieldEnum {
WID("wid","WID"),
BJDM("bjdm","BJDM"),
BJJC("bjjc","BJJC"),
BJMC("bjmc","BJMC"),
BJYWMC("bjywmc","BJYWMC"),
BZ("bz","BZ"),
NJ("nj","NJ"),
YXDM("yxdm","YXDM"),
ZYDM("zydm","ZYDM");
private String javaFieldName;
private String dbFieldName;
FieldEnum(String javaFieldName, String dbFieldName) {
this.javaFieldName = javaFieldName;
this.dbFieldName = dbFieldName;
}
public String javaFieldName() {
return javaFieldName;
}
public String dbFieldName() {
return dbFieldName;
}
}
}
```