- @Id :主键 long/Long型,可以通过@Id(autoincrement = true)设置自增长
- @Property:设置一个非默认关系映射所对应的列名,默认是的使用字段名 举例:@Property (nameInDb=”name”)
- @NotNul:设置数据库表当前列不能为空
- @Transient :添加次标记之后不会生成数据库表的列
1.)索引注解
- @Index:使用@Index作为一个属性来创建一个索引,通过name设置索引别名,也可以通过unique给索引添加约束
- @Unique:向数据库列添加了一个唯一的约束
2.)关系注解
- @ToOne:定义与另一个实体(一个实体对象)的关系
- @ToMany:定义与多个实体对象的关系
(@ToMany的属性referencedJoinProperty,类似于外键约束。
@JoinProperty 对于更复杂的关系,可以使用这个注解标明目标属性的源属性。
@JoinEntity 如果你在做多对多的关系,有其他的表或实体参与,可以给目标属性添加这个额外的注解(感觉不常用吧)
)
方法
voidattachEntity(T entity):
longcount():获取数据库中数据的数量
// 数据删除相关
voiddelete(T entity):从数据库中删除给定的实体
voiddeleteAll():删除数据库中全部数据
voiddeleteByKey(K key):从数据库中删除给定Key所对应的实体
voiddeleteByKeyInTx(java.lang.Iterable<K> keys):使用事务操作删除数据库中给定的所有key所对应的实体
voiddeleteByKeyInTx(K... keys):使用事务操作删除数据库中给定的所有key所对应的实体
voiddeleteInTx(java.lang.Iterable<T> entities):使用事务操作删除数据库中给定实体集合中的实体
voiddeleteInTx(T... entities):使用事务操作删除数据库中给定的实体
// 数据插入相关
longinsert(T entity):将给定的实体插入数据库
voidinsertInTx(java.lang.Iterable<T> entities):使用事务操作,将给定的实体集合插入数据库
voidinsertInTx(java.lang.Iterable entities,booleansetPrimaryKey):使用事务操作,将给定的实体集合插入数据库,并设置是否设定主键
voidinsertInTx(T... entities):将给定的实体插入数据库
longinsertOrReplace(T entity):将给定的实体插入数据库,若此实体类存在,则覆盖
voidinsertOrReplaceInTx(java.lang.Iterable<T> entities):使用事务操作,将给定的实体插入数据库,若此实体类存在,则覆盖
voidinsertOrReplaceInTx(java.lang.Iterable entities,booleansetPrimaryKey):使用事务操作,将给定的实体插入数据库,若此实体类存在,则覆盖并设置是否设定主键
voidinsertOrReplaceInTx(T... entities):使用事务操作,将给定的实体插入数据库,若此实体类存在,则覆盖
longinsertWithoutSettingPk(T entity):将给定的实体插入数据库,但不设定主键
// 新增数据插入相关API
voidsave(T entity):将给定的实体插入数据库,若此实体类存在,则更新
voidsaveInTx(java.lang.Iterable<T> entities):将给定的实体插入数据库,若此实体类存在,则更新
voidsaveInTx(T... entities):使用事务操作,将给定的实体插入数据库,若此实体类存在,则更新
// 加载相关
Tload(K key):加载给定主键的实体
java.util.ListloadAll():加载数据库中所有的实体
protectedjava.util.ListloadAllAndCloseCursor(android.database.Cursor cursor):从cursor中读取、返回实体的列表,并关闭该cursor
protectedjava.util.ListloadAllFromCursor(android.database.Cursor cursor):从cursor中读取、返回实体的列表
TloadByRowId(longrowId):加载某一行并返回该行的实体
protectedTloadUnique(android.database.Cursor cursor):从cursor中读取、返回唯一实体
protectedTloadUniqueAndCloseCursor(android.database.Cursor cursor):从cursor中读取、返回唯一实体,并关闭该cursor
//更新数据
voidupdate(T entity):更新给定的实体
protectedvoidupdateInsideSynchronized(T entity, DatabaseStatement stmt,booleanlock)
protectedvoidupdateInsideSynchronized(T entity, android.database.sqlite.SQLiteStatement stmt,booleanlock)
voidupdateInTx(java.lang.Iterable<T> entities):使用事务操作,更新给定的实体
voidupdateInTx(T... entities):使用事务操作,更新给定的实体
网友评论