mybatis的逆向工程中创建的以Example类的作用

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

例如:

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

@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);  
    } 

  

说明:

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)  
原文地址:https://www.cnblogs.com/robbinluobo/p/8554920.html