通用Mapper最常用方法使用简介

通用Mapper介绍

介绍

通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。
极其方便的使用MyBatis单表的增删改查。支持单表操作,
不支持通用的多表联合查询。

特别强调

不是表中字段的属性必须加 @Transient 注解

使用方式

继承通用的Mapper<T>,必须指定泛型<T>

例如下面的例子:
public interface UserInfoMapper extends Mapper<UserInfo> {
  //其他必须手写的接口...
}

重点强调 @Transient 注解

许多人由于不仔细看文档,频繁在这个问题上出错。
如果你的实体类中包含了不是数据库表中的字段,你需要给这个字段加上@Transient注解,
这样通用Mapper在处理单表操作时就不会将标注的属性当成表字段处理!

查询

List<T> select(T t)
    
根据T对象中的属性名称查询,类似于select * from table where t.username=xxx and t.mobile = xxxx
T selectOne(T t)
如果断定T对象的查询条件是一个,可以调用此方法,返回单个对象
T selectByPrimaryKey(Object id)
根据主键查询

修改

int updateByPrimaryKeySelective(T t)
根据主键更新数据,T对象里面有什么属性就更新什么属性,如果T对象没有主键,抛出异常
int updateByPrimaryKey(T t)
根据主键更新数据,需要把对象中所有的字段全部填充才能调用此方法,一般不常用!
int updateByPrimaryKeySelective(T t)
根据主键更新数据,T对象里面有什么属性就更新什么属性,如果T对象没有主键,抛出异常

新增

int insertSelective(T t)
插入数据,需要有主键,有什么属性插入什么属性
int insert(T t)
插入数据,需要有主键,需要数据库表中的所有字段全都存在,否则插入失败,此方法不常用

删除

int delete(T t)
根据条件删除数据,原理同select(T)
int deleteByPrimaryKey(T t)
根据主键删除
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,898评论 25 709
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,725评论 0 4
  • 片片榴花红胜火,姣姣雨中淡扫峨。 水渡舟行天地小,行将山路也迢迢。
    Cactussnow阅读 141评论 0 0
  • 食素已满月。 打去年的某个时候就有了食素的念头。不是因为要减肥,也不是因为健康原因,因为我不胖也f无“胖病”,只是...
    大同阅读 251评论 0 2
  • 对于文字的把握,每个人都有自身的见解,独于自我而言,阅读量到底该怎么解读。文字是个很神奇的事物,因为排列方式的不同...
    雨微水阅读 422评论 0 1