欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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代碼來實現。

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

相關文章

  • java中不定長參數的實例用法

    java中不定長參數的實例用法

    在本篇文章里小編給大家分享的是關于java中不定長參數的使用方法以及相關代碼內容,有興趣的朋友們可以學習參考下。
    2020-02-02
  • Java?多個文件生成zip包、下載zip包的實現代碼

    Java?多個文件生成zip包、下載zip包的實現代碼

    這篇文章主要介紹了Java?多個文件生成zip包、下載zip包,包括文件上傳,文件下載,多個文件打成zip包的操作代碼,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • Java?Optional的判空操作詳解

    Java?Optional的判空操作詳解

    JAVA在1.8版本推出Optional,官方文檔將其描述為可能包含或不包含非空值的容器對象,目前Optional用于避免程序出現異常NullPointerException,感興趣的可以了解一下
    2022-09-09
  • SMBMS超市訂單管理系統的網站源碼

    SMBMS超市訂單管理系統的網站源碼

    這篇文章主要介紹了SMBMS超市訂單管理系統,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • gradle項目中資源文件的相對路徑打包技巧必看

    gradle項目中資源文件的相對路徑打包技巧必看

    這篇文章主要介紹了gradle項目中資源文件的相對路徑打包技巧必看篇,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 使用PageHelper插件實現Service層分頁

    使用PageHelper插件實現Service層分頁

    這篇文章主要為大家詳細介紹了使用PageHelper插件實現Service層分頁,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • SpringBoot項目使用slf4j的MDC日志打點功能(最新推薦)

    SpringBoot項目使用slf4j的MDC日志打點功能(最新推薦)

    這篇文章主要介紹了SpringBoot項目使用slf4j的MDC日志打點功能,本文通過示例代碼給大家介紹非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 關于servlet向mysql添加數據時中文亂碼問題的解決

    關于servlet向mysql添加數據時中文亂碼問題的解決

    最近在工作中遇到一個小問題,出現了中文亂碼的問題,無奈只能想辦法解決,下面這篇文章主要給大家介紹了關于servlet向mysql添加數據時中文亂碼問題的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • 兩個例子了解java中的回調機制

    兩個例子了解java中的回調機制

    這篇文章主要介紹了Java中回調機制的相關資料,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-02-02
  • java獲取當前日期和時間的二種方法分享

    java獲取當前日期和時間的二種方法分享

    這篇文章主要介紹了java獲取當前日期和時間的二種方法,需要的朋友可以參考下
    2014-03-03

最新評論