通用Mapper 4.1.0 發布,大量新功能 PR 合併

2020-12-05 開源中國

4.1.0 - 2018-11-25

功能方面

  • 新增 @Order(value = "DESC", priority = 2) 註解,可以配置排序的優先級 by qrqhuangcy #457

  • 增加 Oracle 批量插入方法,在 OracleMapper 中 by qrqhuangcy #467

  • 通過反射設置主鍵值,解決 issue #445 和 #461,mysql 和 sqlserver 特殊的插入操作不在需要指定 keyProperty by 孫昊 #469

  • delete 所有相關方法去掉樂觀鎖條件 by JiangYongKang #405

  • 邏輯刪除功能的selectByExample,updateByExample,updateByExampleSelective條件where中加入邏輯刪除欄位的未刪除條件 by duwey #458

  • insertList 方法增加非空校驗

  • 避免多處潛在的 NPE 風險 by 何昇邦 #398

通用 Mapper MBG 插件相關

  • 在生成的 model中,增加欄位名的常量,便於使用 Example 拼接查詢條件的時候使用。 by zhiguangliu #404 針對該功能還有一個可配置參數(generateColumnConsts),默認不啟用,配置為 true 後,會生成類似下面部分的代碼:

    @Table(name = "`COUNTRY`")public class Country {    @Id    @Column(name = "`ID`")    @GeneratedValue(generator = "JDBC")    private Integer id;    @Column(name = "`COUNTRYNAME`")    private String countryname;    @Column(name = "`COUNTRYCODE`")    private String countrycode;    @Column(name = "`VERSION`")    private Integer version;    //下面是該功能增加的靜態欄位,值為屬性名,方便在 Example 中使用    public static final String ID = "id";    public static final String COUNTRYNAME = "countryname";    public static final String COUNTRYCODE = "countrycode";    public static final String VERSION = "version";}

  • 增加 model 代碼生成時,可以直接生成 lombok 的 @Getter@Setter@ToString@Accessors(chain = true) 四類註解, 使用者在插件配置項中增加 <property name="lombok" value="Getter,Setter,ToString,Accessors"/> 即可生成對應包含註解的 model 類 by finira #296 生成效果如下:

    @Getter@Setter@ToString@Accessors(chain = true)@Table(name = "`COUNTRY`")public class Country {  //忽略其他}

MVN 依賴如下:

<dependency>      <groupId>tk.mybatis</groupId>      <artifactId>mapper</artifactId>      <version>4.1.0</version></dependency>

同時發布了 Mapper Spring Boot Starter 2.1.0,和 4.1.0 版本同步。

Stater 依賴如下:

<dependency>      <groupId>tk.mybatis</groupId>  <artifactId>mapper-spring-boot-starter</artifactId>  <version>2.1.0</version></dependency>

本次更新內容80%來自PR,感謝提交 PR 的朋友,歡迎大家參與!

相關焦點

  • Lettuce 5.1.0.RC1 發布,Redis Java 客戶端
    Lettuce 5.1.0.RC1 已發布,這是 Lettuce 5.1 發布的第一個候選版本,包含改進和錯誤修復。Lettuce 5.1.0  要求 Java 8 及以上版本。
  • 大量新功能來襲,網友:終於加入了
    ▲ 點擊藍字「小龍軟體工作室」,關注最新IT資訊4月26日消息,最近很多 iOS 的小夥伴都用上了最新的微信測試版,新版微信帶來了群名稱備註等功能,使用安卓的用戶只能看著干著急,不過現在安卓微信測試版終於來了,雖然目前只是測試版,但按照微信的更新慣例,相信正式版也會很快發布!
  • Win10 2020 正式版發布更新,大量新功能、全新 UI 可視化
    5月13日消息,微軟今年首個 Windows 10 正式版今天正式發布,版本號為 Build 19041.208,開發者用戶已經可以通過 MSDN 下載到 ISO 鏡像文件,微軟方面為了確保萬無一失,普通用戶還無法更新,需要等到5月28日才會收到更新推送!
  • Foxit Reader 3.0全新發布
    經過兩個多月的測試後,全新的Foxit Reader 3.0版已經發布,引入了一系列激動人心的新功能,很多現有功能也進行了增強。新增功能:1、多媒體設計:不但支持多媒體播放,還能通過電影工具(Movie Tool)和聲音工具(Sound Tool)加入、編輯和刪除多媒體文件。
  • 垃圾網站1年內pr值從0到6的秘密
    核心提示:這裡給大家揭秘一個企業垃圾網站1年內pr值從0到6的秘密。很多人感到疑惑的是為什麼有些垃圾站明明只有幾十篇文章,且全部是廣告,根本沒有實際內容,卻可以PR值為4或者5,甚至6?其實,這些完全是一些人為炒作出來的。這裡給大家揭秘一個企業垃圾網站1年內pr值從0到6的秘密。目前很多公司認識到網絡的重要性,紛紛建立了自己的公司網站,網站內容以介紹企業產品為主。
  • NumPy 1.18.0 發布,Python 科學計算包
    NumPy 1.18.0 已發布。除了通常的錯誤修復之外,此版本還清理並記錄新的隨機 C-API,使大量舊版本棄用,並改善了文檔的外觀。
  • 開源多媒體框架FFmpeg 4.1 「al-Khwarizmi」發布
    FFmpeg項目組於今天正式發布了FFmpeg 4.1版本。這也是被多媒體應用和遊戲廣泛使用的開源、跨平臺多媒體框架的首次重大更新。FFmpeg 4.1代號「al-Khwarizmi」,和2018年4月發布的FFmpeg 4.0「Wu」相隔6個月。
  • StepChain 0.0.7 發布,Java 通用業務處理框架
    0.0.7更新日誌:1、新增支持Processor定時調度FixedRate、FixedDelay。2、修復0.0.6版本bug.
  • Matplotlib新版本3.1發布,新功能介紹
    日前Python著名作圖框架Matplotlib發布新版本3.1,新版本帶來了那些新的功能和特性呢?今天蟲蟲就給大家介紹下 Matplotlib的新功能。新功能簡潔的日期格式默認情況下使用的自動日期格式化有點太繁雜。新版本提供一個格式化程序,用於簡化時間格式化標籤。
  • PyTorch 0.4:完全改變API,官方支持Windows
    新智元報導 來源:Pytorch 官網【新智元導讀】今天,PyTorch官方在GitHub發布0.4.0版本,最重要的改進是支持Windows系統。新版本完全改變了API,是本年度最重大的升級。今天,PyTorch官方在GitHub發布0.4.0版本,最重要的改進是支持Windows系統。PyTorch是在2017年1月由Facebook推出的。它是經典機器學習庫Torch框架的一個埠,Torch二進位文件包裝於GPU加速的Python。
  • PHP 框架 QueryPHP 1.0.3 發布,兼容 PHP 8.0 和 PHP 8.1
    QueryPHP 1.0.3 僅僅做了對 PHP 8.0 和 PHP 8.1 兼容性處理,修復了 PHP 8 下面的代碼和測試用例。
  • 雙噴射+三缸 通用全新Ecotec 1.0T/1.3T發動機技術解析
    前幾天阿豪在上海實拍了上汽通用別克的兩款新車——GL6和閱朗,這兩款新車有一個共同點,就是都將搭載通用全新一代Ecotec系列三缸發動機。這其實並不是通用第一次發布三缸發動機,現在榮威i6上的那臺1.0T三缸發動機正是上汽與通用聯合開發的,只是通用並沒有在自家的國產車型上使用。
  • pr值得作用是什麼以及如何提升?
    什麼是pr值pr值就是網頁的級別,網頁的價值。pr值的主要的發布者是谷歌,那麼它的等級從什麼級開始呢?從零級開始,1、2、3、4、5、6、7、8、9、10。怎麼查看一個網站的pr值呢?我把需要查詢的網頁複製到站長工具,點擊pr值那一欄即可查詢。網站pr達到3、4、5已經有一定的價值了,這是一個簡單的標準。
  • LayaAir 2.0 正式版發布了,重要特性全面介紹
    2018年9月15日,Layabox再次發布LayaAir 2.0 引擎測試版。2.0引擎在保持1.0極致性能的基礎上,更為重視開發者的易用性體驗。因此2.0的IDE進行了大量的易用性改進與優化。而3D方面,則完全重構了3D引擎,不僅再次提升了性能與易用性,還新增了150多項功能。
  • Review Board 3.0.4 發布,在線代碼審查工具
    Review Board  3.0.4 發布,新版本新增了很多新功能,集成和改進的託管服務支持。
  • Kuma 0.2.0 發布,現代通用服務網格控制平面
    Kuma 0.2.0 發布了。Kuma 是一個現代的通用服務網格控制平面,基於 Envoy 搭建,Envoy 是一個為雲原生應用設計的強大的代理軟體。
  • 官方Element Plus for Vue 3.0 Beta 版本今天發布了!
    今天,Element Plus for Vue 3.0 Beta版本正式發布了!對,就是那個被外界傳言不再維護的Element UI!降低耦合,簡化邏輯使用Vue 3.0 Teleport新特性重構掛載類組件使用Lerna維護和管理項目使用更輕量更通用的時間日期解決方案
  • H2O 1.4.0 發布, HTTP 伺服器
    H2O 1.4.0 發布,相比之前的1.3.1版本有一些更新和 bug 修復,主要如下: features:
  • 關於PHP在linux下面獲取GOOGLE的PR值
    $len = $length;  while($len >= 12) {    $a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));   $b += ($url[$k+4] +($url[$k+5]<<8) +($url
  • MySQL 8.0 正式版 8.0.11 發布:比 MySQL 5.7 快 2 倍
    正式版 8.0.11 已發布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,還帶來了大量的改進和更快的性能!1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面帶來了更好的性能:讀/寫工作負載、IO 密集型工作負載、以及高競爭("hot spot"熱點競爭問題)工作負載。