# 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; } } } ```