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類の内容については、以前の文章を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。