mybatis的逆向工程中建立的以Example类的做用

在日常的开发中,有时会使用mybatis的逆向工程,来快速的建立类,其中在建立实例的过程当中有一个以Example结尾的类,这个类是专门用来对这个单表来查询的类,就至关于,对该单表的增删改查是脱离sql性质的,直接在service层就能够完成(固然这个sql是逆向已经生过的)java

例如:sql

select id, username, birthday, sex, address from user WHERE ( username = ‘张三’ ) order by username ascmybatis

@Test  
    public void testFindUserByName(){  
  
        //经过criteria构造查询条件  
        UserExample userExample = new UserExample();  
        userExample.setOrderByClause("username asc"); //asc升序,desc降序排列  
        userExample.setDistinct(false); //去除重复,true是选择不重复记录,false反之  
        UserExample.Criteria criteria = userExample.createCriteria(); //构造自定义查询条件  
        criteria.andUsernameEqualTo("张三");  
  
        //自定义查询条件可能返回多条记录,使用List接收  
        List<User> users = userMapper.selectByExample(userExample);  
  
        System.out.println(users);  
    } 

  

说明:app

 

Mybatis逆向工程会生成实例及实例对应的example(用于添加条件,至关于where后的部分)  
xxxExample example = new xxxExample();  
Criteria criteria = example.createCriteria();  
方法说明:  
// 1.添加升序排列条件,DESC为降序  
example.setOrderByClause("字段名ASC")  
// 2.去除重复,boolean类型,true为选择不重复的记录  
example.setDistinct(false)  
// 3.添加字段xxx为null的条件  
criteria.andXxxIsNull  
// 4.添加字段xxx不为null的条件  
criteria.andXxxIsNotNull  
// 5.添加xxx字段等于value条件  
criteria.andXxxEqualTo(value)  
// 6.添加xxx字段不等于value条件  
criteria.andXxxNotEqualTo(value)  
// 7.添加xxx字段大于value条件  
criteria.andXxxGreaterThan(value)  
// 8.添加xxx字段大于等于value条件  
criteria.andXxxGreaterThanOrEqualTo(value)  
// 9.添加xxx字段小于value条件  
criteria.andXxxLessThan(value)  
// 10.添加xxx字段小于等于value条件  
criteria.andXxxLessThanOrEqualTo(value)  
// 11.添加xxx字段值在List  
criteria.andXxxIn(List)  
// 12.不添加xxx字段值在List  
criteria.andXxxNotIn(List)  
// 13.添加xxx字段值在之间  
criteria.andXxxBetween(value1,value2)  
// 14.添加xxx字段值不在之间  
criteria.andXxxNotBetween(value1,value2)