OrmLite 是一个轻量级的 ORM 框架,面向 JAVA 语言。也是时下流行的 Android 的 ORM 框
架之一。在 Android 中使用 Sqlite 数据,如果又不想写 SQL,OrmLite 或许是个不错的选
择。
使用 OrmLite,首先要在 gradle 配置依赖 compile 'com.j256.ormlite:ormlite-android:4.48'
也可以去 ormlite 官网下载查看文档 http://ormlite.com/
1.表创建
然后要要创建一个实体类,对应表结构。OrmLite 提供了两个注解,@DatabaseField 代表
表列名,@DatabaseTable 表名 tableName 值为数据库中表的真实名称。下列的 User 类必
须有一个无参数的构造函数。
需要指定一个字段为唯一标志,必须为 int, Integer ,long, Long, Uuid 类型
数据库中的记录通过定义为唯一的特殊字段成为唯一标识。记录不是必须有唯一标识字段
当时很多
DAO
操作(更新、删除、刷新)都需要一个唯一标识字段。这个标识要么用户提
供要么数据库自动生成。标识字段有表中唯一的值并且如果你用
DAO
根据
id
查询、删
除、刷新或者更新指定行的时候他们必须存在。为了配置一个成员变量作为标识成员,你
应该使用下面三个设置之一(而且必须使用一个):
@DatabaseField: id, generatedId, gen
eratedIdSequence
。
@DatabaseField(id = true)指定哪个字段为主键
@DatabaseField(generatedId = true)自动增加的 ID
@DatabaseField(generatedIdSequence = true) 设置序列名来匹配已经存在的 schema,你
可以使用 generatedIdSequence 指定序列名的值。
这样才可以使用 ID 来做删除,修改,查询等操作。否则调用相关方法抛出
Cannot query-for-id with class xxx.xxx.xxx.User because it doesn't have an id field 相关
异常。
1. @DatabaseTable(tableName = "t_user")
2. public class User {
3.
4. @DatabaseField(generatedId =true)
5. private int id;
6.
7. @DatabaseField
8. private String name;
9.
10. public User(int id, String name) {
11. this.name = name;
12. this.id = id;
评论0