亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis反向生成Example類的使用方式

 更新時間:2021年12月14日 15:19:07   作者:weixin_39477597  
今天小編就為大家分享一篇MyBatis反向生成Example類的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MyBatis反向生成Example類使用

一、逆向工程

MyBatis的逆向工程不僅僅可以生成和表相對應的實體類還可以根據數據庫種的表自動生成Example類,我們可以用Example類

實現條件增刪改查而不用自己再去寫sql語句。

二、Example類的生成

只要在generatorConfig.xml 文件中用表名生成對應的實體類時將生成Example的信息都變?yōu)閠rue即可。

        <table tableName="user"
            enableCountByExample="true"
           enableUpdateByExample="true"
           enableDeleteByExample="true"
           enableSelectByExample="true"
            selectByExampleQueryId="false"
        </table>

三、Example類的使用

打開一個Exapmle類我們會看到以下幾個成員

protected String orderByClause; 
protected Integer start; 
protected Integer length; 
protected boolean distinct; 
protected List<Criteria> oredCriteria; 
  • orderByClause:用于指定ORDER BY條件,這個條件沒有構造方法,直接通過傳遞字符串值指定。
  • startlength:是分頁時用來指定查詢第幾條數據到第幾條數據的。
  • distinct:是用來指定是否要去重查詢的,true為去重,false不去重。
  • oredCriteriia:是用來指定查詢條件的。

逆向工程生成的文件XxxExample.java中包含一個static 的內部類 Criteria ,在Criteria中有很多方法,主要是定義SQL 語 句where后的查詢條件。

四、使用方法

在service種可以這么寫

//指定要進行去重查詢
  userBankCardExample.setDistinct(true);
  //指定查詢條件
  userBankCardExample.createCriteria().andUserIdEqualTo(iptUserBankCard.getUserId());
  //調用查詢方法
  List<UserBankCard> userBankCadList = userBankCardDao.selectByExample(userBankCardExample);

注意:在調用upateExample()是更新所有字段,包括字段為null的也更新,建議使用 updateByExampleSelective()更新想更新的字段

MyBatis逆向工程生成Example類的方法總結

很早之前就在項目開發(fā)中多次使用MyBatis逆向工程生成的Example類,但一直沒有對其下的方法做一個簡單的總結,現總結如下:

一、mapper接口中的方法解析

mapper接口中的部分常用方法及功能如下:

方法 功能說明
int countByExample(UserExample example) thorws SQLException 按條件計數
int deleteByPrimaryKey(Integer id) thorws SQLException 按主鍵刪除
int deleteByExample(UserExample example) thorws SQLException 按條件刪除
String/Integer insert(User record) thorws SQLException 插入數據(返回值為ID)
User selectByPrimaryKey(Integer id) thorws SQLException 按主鍵查詢
ListselectByExample(UserExample example) thorws SQLException 按條件查詢
ListselectByExampleWithBLOGs(UserExample example) thorws SQLException 按條件查詢(包括BLOB字段)。只有當數據表中的字段類型有為二進制的才會產生
int updateByPrimaryKey(User record) thorws SQLException 按主鍵更新
int updateByPrimaryKeySelective(User record) thorws SQLException 按主鍵更新值不為null的字段
int updateByExample(User record, UserExample example) thorws SQLException 按條件更新
int updateByExampleSelective(User record, UserExample example) thorws SQLException 按條件更新值不為null的字段

二、Example類解析

mybatis的逆向工程中會生成實體類及實體類對應的example類,example類用于添加條件,相當where后面的部分。

xxxExample example = new xxxExample(); 
Criteria criteria = new Example().createCriteria();

example類中的部分常用方法及功能如下:

方法 功能說明
example.setOrderByClause(“字段名 ASC”); 添加升序排列條件,DESC為降序
example.setDistinct(false) 去除重復,boolean型,true為選擇不重復的記錄
criteria.andXxxIsNull 添加字段xxx為null的條件
criteria.andXxxIsNotNull 添加字段xxx不為null的條件
criteria.andXxxEqualTo(value) 添加xxx字段等于value條件
criteria.andXxxNotEqualTo(value) 添加xxx字段不等于value條件
criteria.andXxxGreaterThan(value) 添加xxx字段大于value條件
criteria.andXxxGreaterThanOrEqualTo(value) 添加xxx字段大于等于value條件
criteria.andXxxLessThan(value) 添加xxx字段小于value條件
criteria.andXxxLessThanOrEqualTo(value) 添加xxx字段小于等于value條件
criteria.andXxxIn(List<?>) 添加xxx字段值在List<?>條件
criteria.andXxxNotIn(List<?>) 添加xxx字段值不在List<?>條件
criteria.andXxxLike(“%”+value+”%”) 添加xxx字段值為value的模糊查詢條件
criteria.andXxxNotLike(“%”+value+”%”) 添加xxx字段值不為value的模糊查詢條件
criteria.andXxxBetween(value1,value2) 添加xxx字段值在value1和value2之間條件
criteria.andXxxNotBetween(value1,value2) 添加xxx字段值不在value1和value2之間條件

注:在mybatis逆向工程生成的文件XxxExample.java中包含一個static的內部類Criteria,Criteria中的方法是定義SQL 語句where后的查詢條件。

三、小結一下

XxxExample.java只能實現簡單條件增刪改查,復雜的功能還需要自己編寫sql代碼來實現。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SpringBoot單元測試框架Mockito介紹及使用

    SpringBoot單元測試框架Mockito介紹及使用

    與集成測試將系統(tǒng)作為一個整體測試不同,單元測試更應該專注于某個類。所以當被測試類與外部類有依賴的時候,尤其是與數據庫相關的這種費時且有狀態(tài)的類,很難做單元測試。但好在可以通過“Mockito”這種仿真框架來模擬這些比較費時的類,從而專注于測試某個類內部的邏輯
    2023-01-01
  • mybatis-plus使用generator實現逆向工程

    mybatis-plus使用generator實現逆向工程

    mybatis-plus-generator在3.5.0以及以后的版本使用新的方式逆向生成代碼,本文主要介紹了mybatis-plus使用generator實現逆向工程,具有一定的參考價值,感興趣的可以了解一下
    2022-05-05
  • 對Java接口進行冪等性控制的三種方法

    對Java接口進行冪等性控制的三種方法

    在做分布式系統(tǒng)、支付系統(tǒng)、電商秒殺等實際項目中,我們經常會遇到接口被重復調用的問題,像用戶支付時多次點擊“支付”按鈕,消息隊列消費失敗后自動重試等,這些行為如果沒有控制好冪等性,會產生重復數據,所以本文給大家介紹了對Java接口進行冪等性控制的三種方法
    2025-06-06
  • SpringBoot集成tensorflow實現圖片檢測功能

    SpringBoot集成tensorflow實現圖片檢測功能

    TensorFlow名字的由來就是張量(Tensor)在計算圖(Computational?Graph)里的流動(Flow),它的基礎就是前面介紹的基于計算圖的自動微分,本文將給大家介紹Spring?Boot集成tensorflow實現圖片檢測功能,需要的朋友可以參考下
    2024-06-06
  • Springboot 實現跨域訪問無需使用jsonp的實現代碼

    Springboot 實現跨域訪問無需使用jsonp的實現代碼

    這篇文章主要介紹了Springboot 實現跨域訪問 無需使用jsonp的實現代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • springcloud ribbon 饑餓加載原理解析

    springcloud ribbon 饑餓加載原理解析

    這篇文章主要介紹了springcloud ribbon 饑餓加載原理解析,饑餓加載特別適用于對啟動性能要求較高的場景,如系統(tǒng)啟動初期就有高并發(fā)請求的情況,感興趣的朋友跟隨小編一起學習吧
    2024-04-04
  • 淺談JavaAPI 中 <E> 與 <T> 的含義

    淺談JavaAPI 中 <E> 與 <T> 的含義

    下面小編就為大家?guī)硪黄獪\談JavaAPI 中 <E> 與 <T> 的含義。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • MyBatis中SqlSession生命周期的使用

    MyBatis中SqlSession生命周期的使用

    SqlSession是MyBatis的核心接口之一,本文主要介紹了MyBatis中SqlSession生命周期的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-09-09
  • java接口防重提交的處理方法

    java接口防重提交的處理方法

    本文主要介紹了java接口防重提交的處理方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Java方法重寫的超詳細講解

    Java方法重寫的超詳細講解

    在 Java 編程的精彩世界里,方法重寫是一項極為重要且實用的特性,它猶如一把神奇的鑰匙,為我們開啟了面向對象編程中多態(tài)性的大門,今天,就讓我們一同深入探索 Java 方法重寫的奧秘,感興趣的小伙伴跟著小編一起來看看吧
    2025-03-03

最新評論