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

Java中mybatis關于example類的使用詳解

 更新時間:2020年07月20日 12:11:43   作者:無睚  
這篇文章主要介紹了Java中mybatis中關于example類的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

這幾天剛接觸example,很多內容都是破碎的,寫一篇博文加深理解。

一、什么是example類

     mybatis-generator會為每個字段產生如上的Criterion,如果表的字段比較多,產生的Example類會十分龐大。理論上通過example類可以構造你想到的任何篩選條件。在mybatis-generator中加以配置,配置數據表的生成操作就可以自動生成example了。具體配置可以參考MBG有關配置。
     下面是mybatis自動生成example的使用。

二、了解example成員變量

//升序還是降序
  //參數格式:字段+空格+asc(desc)
  protected String orderByClause;
  //去除重復
  //true是選擇不重復記錄
  protected boolean distinct;
  //自定義查詢條件
  //Criteria的集合,集合中對象是由or連接
  protected List<Criteria> oredCriteria;
  //內部類Criteria包含一個Cretiron的集合,
  //每一個Criteria對象內包含的Cretiron之間
  //是由AND連接的
  public static class Criteria extends GeneratedCriteria {
   protected Criteria() {
    super(); 
   }
  }
  //是mybatis中逆向工程中的代碼模型
  protected abstract static class GeneratedCriteria
  {…..}
  //是最基本,最底層的Where條件,用于字段級的篩選
  public static class Criterion {……}

三、example使用前的準備

     比如我的example是根據user表生成的,UserMapper屬于dao層,UserMapper.xml是對應的映射文件
     UserMapper接口:

long countByExample(CompetingStoreExample example);
List<CompetingStore> selectByExample(CompetingStoreExample example);

    在我們的測試類里:

     UserExample example = new UserExample();
     UserExample.Criteria criteria = example.createCriteria();

四、查詢用戶數量

 long count = UserMapper.countByExample(example);

      類似于:select count(*) from user

五、where條件查詢或多條件查詢

 example.setOrderByClause("age asc");//升序
     example.setDistinct(false);//不去重
 
     if(!StringUtils.isNotBlank(user.getName())){
          Criteria.andNameEqualTo(user.getName());
     }
 
     if(!StringUtils.isNotBlank(user.getSex())){
          Criteria.andSexEqualTo(user.getSex());
     }
 
     List<User> userList=userMapper.selectByExample(example);

     類似于:select * from user where name={#user.name} and sex={#user.sex} order by age asc;

 UserExample.Criteria criteria1 = example.createCriteria();
     UserExample.Criteria criteria2 = example.createCriteria();
 
     if(!StringUtils.isNotBlank(user.getName())){
          Criteria1.andNameEqualTo(user.getName());
     }
 
     if(!StringUtils.isNotBlank(user.getSex())){
          Criteria2.andSexEqualTo(user.getSex());
     }
 
     Example.or(criteria2);
     List<User> userList=userMapper.selectByExample(example);

     類似于:select * from user where name={#user.name} or sex={#user.sex} ;

六、模糊查詢

      if(!StringUtils.isNotBlank(user.getName())){
           criteria.andNameLIke(‘%'+name+'%');
      }
 
      List<User>  userList=userMapper.selectByExample(example);

      類似于:

select * from user where name like %{#user.name}%

七、分頁查詢

        int start = (currentPage - 1) * rows;
        //分頁查詢中的一頁數量
        example.setPageSize(rows);   
        //開始查詢的位置
        example.setStartRow(start);
        List<User> userList=userMapper.selectByExample(example);

        類似于:

select * from user limit start to rows

到此這篇關于Java中mybatis中關于example類的使用詳解的文章就介紹到這了,更多相關Java mybatis中example類內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 美化java代碼,從合理注釋開始

    美化java代碼,從合理注釋開始

    在Java的編寫過程中我們需要對一些程序進行注釋,除了自己方便閱讀,更為別人更好理解自己的程序,可以是編程思路或者是程序的作用,總而言之就是方便自己他人更好的閱讀。下面我們來一起學習一下吧
    2019-06-06
  • Spring的Aware接口你知道多少

    Spring的Aware接口你知道多少

    這篇文章主要為大家詳細介紹了Spring的Aware接口,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Sentinel核心類之Entry類解讀

    Sentinel核心類之Entry類解讀

    這篇文章主要介紹了Sentinel核心類之Entry類解讀,Sentinel中Entry可以理解為每次進入資源的一個憑證,如果調用SphO.entry()或者SphU.entry()能獲取Entry對象,代表獲取了憑證,沒有被限流,否則拋出一個BlockException,需要的朋友可以參考下
    2023-12-12
  • mybatis-plus查詢無數據問題及解決

    mybatis-plus查詢無數據問題及解決

    這篇文章主要介紹了mybatis-plus查詢無數據問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • httpclient evict操作源碼解讀

    httpclient evict操作源碼解讀

    這篇文章主要為大家介紹了httpclient evict操作源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 詳解Spring AOP的實現方式

    詳解Spring AOP的實現方式

    AOP是一種思想,是對某一類事情的集中處理,切面就是指某一類特定的問題,所以AOP可以理解為面向特定方法編程,這篇文章主要介紹了Spring AOP的實現方式,需要的朋友可以參考下
    2024-02-02
  • 修改maven本地倉庫路徑的方法

    修改maven本地倉庫路徑的方法

    本篇文章主要介紹了修改maven本地倉庫路徑的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • eclipse安裝spring ide的步驟詳解

    eclipse安裝spring ide的步驟詳解

    這篇文章主要介紹了eclipse安裝spring ide的步驟詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • Spring Cloud原理詳解

    Spring Cloud原理詳解

    今天小編就為大家分享一篇關于Spring Cloud原理詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • SpringBoot之瘦身部署的詳細步驟

    SpringBoot之瘦身部署的詳細步驟

    本篇文章主要介紹了SpringBoot之瘦身部署的詳細步驟,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08

最新評論