通用mapper使用方式
引用通用mapper依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> <dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
继承通用的Mapper<T>,必须指定泛型<T>
//例如下面的例子:
public interface UserInfoMapper extends Mapper<UserInfo> {
}
常用方法:
查询:
//如果断定T对象的查询条件是一个,可以调用此方法,返回单个对象
select(T t)
T selectOne(T t)
//根据主键查询
T selectByPrimaryKey(Object id)
修改
//根据主键更新数据,T对象里面有什么属性就更新什么属性,如果T对象没有主键,抛出异常
int updateByPrimaryKeySelective(T t)
//根据主键更新数据,需要把对象中所有的字段全部填充才能调用此方法,一般不常用!
int updateByPrimaryKey(T t)
新增
//插入数据,需要有主键,有什么属性插入什么属性
int insertSelective(T t)
//插入数据,需要有主键,需要数据库表中的所有字段全都存在,否则插入失败,此方法不常用
int insert(T t)
删除
//根据条件删除数据,原理同select(T)
int delete(T t)
//根据主键删除
int deleteByPrimaryKey(T t)
Example的使用
example用于添加条件,相当where后面的部分.
Example为我们创建的实例 Example.createCriteria()为我们创建了条件容器,然后将我们的筛选条件一一添加到里面,最后用这个实例去查询.
Example example = new Example(entity.class);
Criteria criteria =example .createCriteria();
方法 | 说明 |
---|---|
criteria.andIsNotNull | 添加字段xxx不为null的条件 |
criteria.andEqualTo(“name”,“张三”) | 添加xxx字段等于value条件 |
criteria.andNotEqualTo(value) | 添加xxx字段不等于value条件 |
criteria.andGreaterThan(value) | 添加xxx字段大于value条件 |
criteria.andGreaterThanOrEqualTo(value) | 添加xxx字段大于等于value条件 |
criteria.andLessThan(value) | 添加xxx字段小于value条件 |
criteria.andLessThanOrEqualTo(value) | 添加xxx字段小于等于value条件 |
criteria.andIn(List<?>) | 添加xxx字段值在List<?>条件 |
criteria.andNotIn(List<?>) | 添加xxx字段值不在List<?>条件 |
criteria.andLike(“%”+value+”%”) | 添加xxx字段值为value的模糊查询条件 |
criteria.andNotLike(“%”+value+”%”) | 添加xxx字段值不为value的模糊查询条件 |