1. 程式人生 > >mybatis程式碼生成器擴充套件外掛 mapper-plugin-plus

mybatis程式碼生成器擴充套件外掛 mapper-plugin-plus

mapper-plugin-plus Mapper外掛擴充套件

繼承自MapperPlugin,主要擴充套件了以下功能:


  1. 生成的模型是否實現序列化介面,預設為否
  2. 模型中欄位是否新增資料庫欄位和java欄位列舉 預設為否(主要用於selectByExample的Criteria條件屬性取值)
  3. 模型是否增加swagger註解 預設為否
  4. 模型中setter方法是否返回模型本身(鏈式呼叫) 預設為否
  5. 模型中欄位是否增加@ColumnType(jdbcType)註解 ,用於支援oracle版本 mapper insert方法(不帶selective)插入資料庫是由於欄位為空而報錯,預設為否

使用方法:

1.pom.xml增加mybatis generator生成外掛

<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<!-- 採用1.3.5版本 1.3.3不能覆蓋xml -->
	<version>1.3.5</version>
	<configuration>
		<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
		<overwrite>true</overwrite>
		<verbose>true</verbose>
	</configuration>
	<dependencies>
		<dependency>
			<groupId>tk.mybatis</groupId>
			<artifactId>mapper</artifactId>
			<version>${tk-mybatis-version}</version>
		</dependency>
		<!--對應資料庫驅動-->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.3</version>
		</dependency>
		<dependency>
			<groupId>com.lhy</groupId>
			<artifactId>mapper-plugin-plus</artifactId>
			<version>1.0.0</version>
		</dependency>
	</dependencies>
</plugin>




2.generatorConfig.xml <context>節點配置外掛

<plugin type="com.lhy.mybatis.plugin.HyMapperPlugin">
	<property name="mappers" value="tk.mybatis.mapper.common.Mapper" />
	<property name="caseSensitive" value="true" />


	<!-- 實現序列化介面 預設false -->
	<property name="implementSerializableInteface" value="true" /> 
	<!-- 實體類增加欄位名稱列舉 預設false -->
	<property name="modelFieldEnum" value="true" />
	<!-- setter方法鏈式呼叫(返回this) 預設false -->
	<property name="setterMethodChainEnabled" value="true" />
	<!-- 啟用swagger註解  預設false-->
	<property name="swaggerApiEnabled" value="true" />
	<!-- columnType註解啟用  預設false-->
	<property name="columnTypeEnabled" value="true" />
</plugin>






3按照mybatis generator外掛配置相關包路徑,檔案路徑


具體參考官網:http://www.mybatis.org/generator/


mybatis通用mapper參考: https://mapperhelper.github.io/docs/


執行命令  

mvn mybatis-generator:generate

 
即可生成擴充套件的mybatis mapper model


4.生成的模型檔案示例:
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;

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

    public enum FieldEnum {
        WID("wid","WID"),
		BJDM("bjdm","BJDM"),
		BJMC("bjmc","BJMC");

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



相關推薦

mybatis程式碼生成器擴充套件外掛 mapper-plugin-plus

mapper-plugin-plus Mapper外掛擴充套件 繼承自MapperPlugin,主要擴充套件了以下功能: 生成的模型是否實現序列化介面,預設為否模型中欄位是否新增資料庫欄位和java欄位列舉 預設為否(主要用於selectByExample的Criteri

使用mybatis 程式碼生成器生成基礎的mapper ,model

程式碼生成器是由mybatis團隊開發提供的, 程式碼生產器通過配置可以生成不同型別的程式碼,程式碼包含了資料庫表對應的實體類,Mapper 介面類 ,mapper xml 檔案和example物件等,這些程式碼檔案幾乎包含了全部的單表操作。 當然對於聯表操作,還是需要自己書寫SQL 的

【JEECG-Mybatis版本】springmvc+mybatis+程式碼生成器程式碼一鍵生成)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

MyBatis程式碼生成器-Example講解

概述 在上篇博文 MyBatis程式碼生成器(逆向工程)MBG使用 中介紹了MBGZ的基本使用。我們知道在MBG的context中將targetRuntime配置為MyBatis3時,MBG會生成和Example相關的物件和方法。 本篇博文我們來介紹下與Example相關的用法。

MyBatis程式碼生成器(逆向工程)MBG使用

概述 我們前面的博文中瞭解了MyBatis的基本用法,也寫了很多單表的CRUD方法,基本上每個表都需要用到這些方法,這些方法都很規範而且比較類似。 當資料庫表的欄位較少時,寫起來還能接受,一旦欄位過多或者需要在很多個表中寫這些基本方法的時候,是不是很崩潰? MyBatis開發團隊提供了一

mybatis 程式碼生成器(IDEA, Maven)及配置詳解(部分配置你應該不知道)

在使用 mybatis 過程中, 當手寫 JavaBean和XML 寫的越來越多的時候, 就越來越同意出錯。這種重複性的工作, 我們當然不希望做那麼多。 還好, mybatis 為我們提供了強大的程式碼生成–MybatisGenerator。 通過簡單的配置,

【筆記】Mybatis高階查詢(九)--Mybatis程式碼生成器的使用

Mybatis Generator,簡稱MBG,是Mybatis開發團隊提供的一個很強大的程式碼生成器,可以生成資料庫表對應的實體類、Mapper介面類、Mapper XML檔案和Example物件等。這些程式碼檔案幾乎包含了全部的單表操作方法。使用MBG可

Mybatis程式碼生成器生成的Example中的Criteria的使用,你會幾種?

1.查詢數量 AgentOmmissionExample example = new AgentOmmissionExample(); AgentOmmissionExample.Criteria c

Mybatis程式碼生成器Mybatis-Generator使用詳解

前提 最近在做創業專案的時候因為有比較多的新需求,需要頻繁基於DDL生成Mybatis適合的實體、Mapper介面和對映檔案。其中,程式碼生成器是MyBatis Generator(MBG),用到了Mybatis-Generator-Core相關依賴,這裡通過一篇文章詳細地分析這個程式碼生成器的使用方式。本文

visual studio code開發程式碼片段擴充套件外掛

背景 visual studio code編輯器強大在於可以自己擴充套件外掛,不僅可以去外掛市場下載,也可以按照官方的API很方便的製作適合自己的外掛; 自己最近在開發一個手機端網站專案,基於vant專案,想利用vscode的智慧提示補全程式碼,提高下開發效率,於是學習了下程式碼片段(snippets)的外掛

Spring-Boot 使用 mybatis-plus-gennretor程式碼生成器生成程式碼+分頁外掛

程式碼自動生成器 1.匯入需要的jar包 <dependencies> <dep

MyBatis-Plus程式碼生成器,根據表名生成各個模組的程式碼

根據表名生成Entity、Mapper、Mapper XML、Service、Controller 等各個模組的程式碼,程式碼如下(根據官網demo修改的),可以正常執行 package com; import com.baomidou.mybatisplus.annotation.DbTyp

配置Mybatis generator程式碼生成器外掛

1.新建maven專案,在pom.xml檔案中新增mybatis.generatorjar包 <dependency> <groupId>org.mybatis.generator</groupId> <artifac

MyBatis-Plus程式碼生成器使用入門

此文只作為學習筆記: 作為學習者來說,這無疑是福音,下面簡單介紹使用步驟: 第一步:建立一個marven專案,在pom.xml檔案裡面匯入依賴: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http

Maven外掛使用Mybatis-generator程式碼生成器

Mybatis-generator有什麼用? 答:可以根據我們已經設計好的資料庫表幫助我們自動生成實體類(pojo)、介面(dao)、對映檔案(mapper),這樣就可以避免每次使用表的時候手動建立一些類和對映檔案,節約了大量的時間。(僅限於簡單的CRUD操作) My

MyBatis-Plus 程式碼生成器

檔名[CodeGeneration] 生成完後自行復制 package com.demo; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatis

mybatis-plus程式碼生成器

當我們需要對資料庫操作時,常規的做法是建立dao,service,controller,mapper.xml檔案,一系列繁瑣的操作讓我們總在做無用功,以前可以用逆向工程生成,現在mybatis-plus也給我們提供了模板,而且功能更加的靈活和強大,我們只要配置好基本的引數,就

Eclipse外掛使用Mybatis-generator程式碼生成器

Mybatis-generator有什麼用? 答:可以根據我們已經設計好的資料庫表幫助我們自動生成實體類(pojo)、介面(dao)、對映檔案(ma

Mybatis-plus程式碼生成器

public static void main(String[] args) { // 程式碼生成器 AutoGenerator mpg = new AutoGenerator(); // 全域性配置 Glo

Springboot2.1.0 整合Mybatis和使用通用Mapper以及使用Generator程式碼生成器

1.往你的Idea的pom檔案中加入 //mybatis的整合 <dependency> <groupId>org.mybatis.spring.boot</groupId>