mybatis程式碼生成器擴充套件外掛 mapper-plugin-plus
繼承自MapperPlugin,主要擴充套件了以下功能:
- 生成的模型是否實現序列化介面,預設為否
- 模型中欄位是否新增資料庫欄位和java欄位列舉 預設為否(主要用於selectByExample的Criteria條件屬性取值)
- 模型是否增加swagger註解 預設為否
- 模型中setter方法是否返回模型本身(鏈式呼叫) 預設為否
- 模型中欄位是否增加@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>