在刚开始学mybatis的时候,我是根本没有接触过Example的,因为没有用到,但是在逆向工程中出现了这个玩意,所以写这个博客也就是通俗易懂的理解下这个东西
我们可以知道mapper接口中的方法解析
- int countByExample(UserExample example)
按条件计数 - int deleteByPrimaryKey(Integer id)
按主键删除 - String/Integer insert(User record)
插入数据,返回值的ID - String/Integer insertSelective(User record)
插入一条数据,只插入不为null的字段 - User selectByPrimaryKey(Integer id)
按主键查询 - List selectByExample(UserExample example)
按条件查询 - List selectByExampleWithBLOGs(UserExample example)
按条件查询(包括BLOB字段)。只有当数据表中的字段类型有为二进制的才会产生。 - int updateByPrimaryKey(User record)
按主键更新 - int updateByPrimaryKeySelective(User record)
按主键更新值不为null的字段 - int updateByExample(User record, UserExample example)
按条件更新
11.int updateByExampleSelective(User record, UserExample example)
按条件更新值不为null的字段
这就是以上mapper的方法基本概述
example用于添加条件,相当于where后面的部分。
xxxExample example = new xxxExample();
Criteria criteria = example.createCriteria(); //构造自定义查询条件
example.setOrderByClause(“字段名 ASC”);
添加升序排列条件,DESC为降序
example.setDistinct(false)
去除重复,boolean型,true为选择不重复的记录。
criteria.andXxxIsNull
添加字段xxx为null的条件
criteria.andXxxIsNotNull
添加字段xxx不为null的条件
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之间条件