个人笔记-tkmapper
Posted GHYANG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人笔记-tkmapper相关的知识,希望对你有一定的参考价值。
tkmapper
anno | desc |
---|---|
@Id | 标记该字段为数据库主键 |
@KeySql(useGeneratedKeys = true) | 主键生成策略,使用JDBC的方式获取数据库自增的主键值 |
@Table(name = "country") | 表名 |
@Column(name = "user_name") | 数据库映射字段 |
@Transient | 表明非数据库字段 |
Select
T selectOne(T record
)
根据实体中的属性进行查询,只能有一个返回值,有多个结果则抛出异常,查询条件使用等号
List<T> select(T record
)
根据实体中的属性值进行查询,查询条件使用等号
List<T> selectAll()
查询全部结果
int selectCount(T record
)
根据实体中的属性查询总数,查询条件使用等号
T selectByPrimaryKey(Object key)
根据主键字段
进行查询,方法参数必须包含完整的主键属性,查询条件使用等号
boolean existsWithPrimaryKey(Object key)
根据主键字段
查询总数,方法参数必须包含完整的主键属性,查询条件使用等号
List<T> selectByExample(Object example)
根据example条件进行查询一条或多条数据
selectOneByExample(Object example)
根据example条件查询一条数据
selectCountByExample(Object example)
根据example条件查询记录数
List<T> selectByExampleAndRowBounds(Object example, RowBounds
rowBounds);
根据example条件和RowBounds进行分页查询
List<T> selectByRowBounds(T record, RowBounds
rowBounds);
根据实体属性和RowBounds进行分页查询
Insert
int insert(T record
)
保存一个实体,实体中缺省的属性也会保存
,使用null保存而不是数据库默认值
int insertSelective(T record
)
保存一个实体,null的属性不会保存,会使用数据库默认值,无默认值则使用null
Update
int updateByPrimaryKey(T record
)
根据主键更新实体全部字段,实体中缺省的字段也会被更新
,被更新为null
int updateByPrimaryKeySelective(T record
)
根据主键更新属性不为null的值,实体中缺省的字段不会被更新
int updateByExample(@Param("record") T record, @Param("example") Object example)
根据example条件更新实体record包含的全部属性,实体中缺省的值也会被更新
,更新为null
int updateByExampleSelective(@Param("record") T record, @Param("example") Object example)
根据example条件更新实体record包含的不是null的属性值,实体中缺省的字段不会被更新
Delete
int delete(T record
)
根据实体属性作为条件进行删除,查询条件使用等号
int deleteByPrimaryKey(object key)
根据主键字段
进行删除,方法参数必须包含完整的主键属性
int deleteByExample(Object example)
根据example条件删除数据
Example
method | desc |
---|---|
example.setOrderByClause("字段名 DESCASC") | 添加升序排列条件,DESC为降序 |
example.setDistinct(false) | 是否去重 |
criteria.andIsNull() | 字段为null |
criteria.andNotNull() | 字段不为null |
criteria.andEqualTo() | 字段等于 |
criteria.andNotEqualTo() | 字段不等于 |
criteria.andGreaterThan() | 字段大于 |
criteria.andGreaterThanOrEqualTo() | 字段大于等于 |
criteria.andLessThan() | 字段小于 |
criteria.andLessThanOrEqualTo() | 字段小于等于 |
criteria.andIn() | 字段在List<?>中 |
criteria.andNotIn() | 字段不在List<?>中 |
criteria.andLike("%" + value + "%") | 字段为value的模糊查询条件 |
criteria.andNotLike("%" + value + "%") | 字段不为value的模糊查询条件 |
criteria.andBetween(value1, value2) | 字段在value1和value2之间 |
criteria.andNotBetween(value1, value2) | 字段不在value1和value2之间 |
以上是关于个人笔记-tkmapper的主要内容,如果未能解决你的问题,请参考以下文章
spring+mybatis+tkmapper+atomikos实现分布式事务-动态切换数据源
Mybatis注解形式tkmapper中Example的复杂查询