一. mapper接口中的函数及方法,
方法名 |
功能 |
int countByExample(UserExample example) |
按条件计数 |
int deleteByPrimaryKey(Integer id) |
按主键删除 |
int deleteByExample(UserExample example) |
按条件查询 |
String/Integer insert(User record) |
插入数据(返回值为ID) |
User selectByPrimaryKey(Integer id) |
按主键查询 |
ListselectByExample(UserExample example) |
按条件查询 |
ListselectByExampleWithBLOGs(UserExample example) |
按条件查询(包括BLOB字段)。只有当数据表中的字段类型有为二进制的才会产生。 |
int updateByPrimaryKey(User record) |
按主键更新 |
int updateByPrimaryKeySelective(User record) |
按主键更新值不为null的字段 |
int updateByExample(User record, UserExample example) |
按条件更新 |
int updateByExampleSelective(User record, UserExample example) |
按条件更新值不为null的字段 |
用法案例:
@Autowired //自动装配
private MusicMapper musicMapper;
@Override
public Music queryMusicByid(Integer id) { //按主键查询
return musicMapper.selectByPrimaryKey(id);
}
二. example实例方法
example 用于添加条件,相当于where后面的部分,理论上单表的任何复杂条件查询都可以使用example来完成。
方法 |
说明 |
example.setOrderByClause(“字段名 ASC”); |
添加升序排列条件,DESC为降序 |
example.setDistinct(false) |
去除重复,boolean型,true为选择不重复的记录。 |
example.and(Criteria criteria) |
为example添加criteria查询条件,关系为与 |
example.or(Criteria criteria) |
为example添加criteria查询条件,关系为或 |
criteria.andXxxIsNull |
添加字段xxx为null的条件 |
criteria.andXxxIsNotNull |
添加字段xxx不为null的条件 |
criteria.andXxxEqualTo(value) |
添加xxx字段等于value条件 |
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之间条件 |
用法案例:
@Autowired //自动装配
private MusicMapper musicMapper;
@Override
public List<Music> queryMusicByAlbumId(Integer album_id) { //条件查询
MusicExample musicExample = new MusicExample();
MusicExample.Criteria musicExampleCriteria = musicExample.createCriteria();
musicExampleCriteria.andAlbumIdEqualTo(album_id);
return musicMapper.selectByExample(musicExample);
}