通用Mapper

通用mapper

通用Mapper的作者也为自己的插件编写了启动器,我们直接引入即可:

<!-- 通用mapper -->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.0.2</version>
</dependency>
@Mapper
public interface UserMapper extends tk.mybatis.mapper.common.Mapper<User>{
}

//继承mapper类并以User作为泛型

@Table(name = "user") //查询表名

@Id //表示主键
@GeneratedValue(strategy = GenerationType.IDENTITY) //获取主键自增Oracle AUTO

通用Mapper的常见方法解析:

查询

select(T t) :根据传入对象属性查询,返回实体类元素集合。

selectOne(T t)) :根据传入的对象属性查询,存在多个返回值时抛出异常。

selectAll() :返回实体类元素集合。

selectCount(T t)) :根据传入的对象属性查询,返回总记录数。

删除

delete(T t)) 根据传入对象属性,删除所有查找到的记录。

deleteByPrimaryKey(Object key) 根据传入的主键,删除对应记录

更新

updateByPrimaryKey(Object o) 根据传入对象属性,更新所有字段 。

updateByPrimaryKeySelective(T t) 只更新对象属性非空字段 。

插入


insert(T t)) 根据传入对象属性,插入所有属性对应的字段。

insertSelective(T t)) 根据传入对象属性,只插入对象属性非空字段

复杂条件查询

通用Mapper复杂条件查询使用的是Example,示例语法如下:


 Example example = new Example(User.class);
 Criteria criteria = example.createCriteria()
 criteria.andLike("name","%"+name+"%");
 userDao.selectByExample(example);

初始化example对象

Example example = new Example(Brand.class);
Example.Criteria criteria = example.createCriteria();

排序条件

example.setOrderByClause(sortBy + " " + (desc ? "desc" : "asc"));

模糊查询

criteria.andLike("name", "%" + key + "%").orEqualTo("letter", key);
posted @ 2020-07-16 21:44  silence022  阅读(38)  评论(0)    收藏  举报